【问题标题】:Unknown modifier while using preg_quote() in preg_match_all()在 preg_match_all() 中使用 preg_quote() 时的未知修饰符
【发布时间】:2015-05-11 10:39:43
【问题描述】:

我的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():C:\xampp\htdocs\classes\Functions.php 第 13 行中的未知修饰符 'd'

【问题讨论】:

  • 仅供参考:您可以在这里参观一下:stackoverflow.com/tour,看看这个网站是如何运作的以及一切都在哪里。 (也可以接受对你帮助最大并解决你问题的答案(meta.stackexchange.com/q/5234))
  • 那么这个问题我们在哪里?

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-04
    相关资源
    最近更新 更多