我想做一個功能,拿出方括號中的內容,但我不能刪除我需要刪除的大括號。幫助preg_match_all,刪除方括號
這是它應該如何看:
Hello [there] blabla
假作:
Hello <a href="http://blabla.com/index.php?id=there">linky</a> blabla
我當前的代碼:
$txt='Hello [there] blabla';
$re1='.*?'; # Non-greedy match on filler
$re2='(\\[.*?\\])'; # Square Braces 1
if ($c=preg_match_all ("/".$re1.$re2."/is", $txt, $matches))
{
$sbraces1=$matches[1][0];
print "<a href='http://blabla.com/index.php?id=$sbraces1'>Linky</a> \n";
}
我當前的代碼做到這一點:
Hello [there] blabla
假作:
<a href='http://blabla.com/index.php?id=[there]'>Linky</a>
難道不更好地使用preg_replace這種方式,你不必重建你的字符串? – Brady 2010-11-08 15:44:48