问题:
$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.换别的定界符。