Saya mempunyai rentetan berikut dalam pangkalan data saya:
"Minecraft is a sandbox video game developed by Mojang Studios from Sweden. Its concept revolve around procedurally generated world made of cubic blocks. Minecraft is the best-selling game in history, having over 238 millions of copies sold. <h1>Gameplay</h1> Minecraft is played from first-person perspective. Gameplay includes mining, crafting, combat, building and terraforming. Usually when a new single-player game is started, a player is placed into a procedurally generated world. The player can encounter various "mobs"...
Saya cuba mengekstrak nilai tajuk daripada rentetan dan menukarnya menjadi pautan menggunakan kod berikut
$heading=''; $match1=array(); $matched=preg_match("/<h\d>/",$part,$match1,PREG_OFFSET_CAPTURE); if($matched) { $match2=array(); preg_match("#</h\d>#",$part,$match2,PREG_OFFSET_CAPTURE); $heading= substr($part,$match1[0][1]+4,$match2[0][1]); $heading="<a href='$heading'>$heading</a>"; }
Berdasarkan ulasan @theforthbird - anda boleh menggunakan regex tunggal untuk menangkap rentetan yang anda inginkan, walaupun menghuraikan HTML dengan regex secara amnya boleh menyebabkan dunia kesakitan, jadi walaupun ini mungkin sesuai dengan tujuan semasa anda, jika anda Masih banyak lagi yang perlu dilakukan bersama baris ini, anda lebih baik menghuraikan HTML ke dalam DOM dan mengekstrak perkara yang anda perlukan.