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

Unknown modifier while using preg_quote() in 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(): Unknown modifier 'd' in C:\xampp\htdocs\classes\Functions.php on line 13

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

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