在preg_match_all()中使用preg_quote()时的未知修饰符

时间:2015-05-11 10:39:43

标签: php preg-match preg-match-all

我的preg_match_all()功能出现问题。 我有一个字符串,例如

$string = '<div id="header">Hello</div>'
preg_match_all('/'.preg_quote('<div id="header">').'(.*?)'.preg_quote('</end>').'/s', $string, $matches);

我希望获得输出Hello

但我只收到这个错误:

  

preg_match_all():第13行的C:\ xampp \ htdocs \ classes \ Functions.php中的未知修饰符'd'

1 个答案:

答案 0 :(得分:4)

您必须为preg_quote()指定分隔符,所以只需将分隔符添加为第二个参数,如下所示:

preg_match_all('/' . preg_quote('<div id="header">' , "/") . '(.*?)' . preg_quote('</end>', "/") . '/s', $string, $matches);
                                                    //^^^                                   ^^^