問題:
$str = "<h1>this is test msg</h1>"; $ruler = "/^<h1>(.*?)</h1>$/"; $res = preg_match($ruler,$str,$v); var_dump($v); 報錯: Warning: preg_match(): Unknown modifier 'h' in /usr/local/var/www/test.php on line 36 NULL
為什么會報錯呢?原因就在於我的定界符。
在正則規則中用的是/做的定界符,而在</h1>中也有/,所以會報這樣的錯誤。
解決方法:
1.將</h1>中的/轉義一下,改成<\/h1>就OK了,
$ruler = "/^<h1>(.*?)<\/h1>$/";
2.換別的定界符。