【问题标题】:Regex, PHP and Wordpress plugins - Can't make my regex work [duplicate]正则表达式、PHP 和 Wordpress 插件 - 无法使我的正则表达式工作 [重复]
【发布时间】:2018-05-13 13:22:31
【问题描述】:

我正在使用正则表达式模式来定位要删除的字符串,该字符串由两个字符串(例如,“START”和“FINISH”)分隔。 所以它是STARTsome_string_to_deleteFINISH

问题是 START 和 FINISH 字符串是具有 字符的 html 标记。

当我使用在线正则表达式测试器时,它们的模式工作正常,但是当我在我使用的 Wordpress 插件中插入表达式时(例如,处理 RSS 到新帖子的 WPEmatico),我不断收到错误。

我尝试使用反斜杠转义特殊字符。没用。

有什么建议吗?

这是我使用的字符串的示例:

==========================================
(\<!-- Facebook Comments Plugin for WordPress).+?(<\/comments>)
==========================================

【问题讨论】:

标签: php regex wordpress


【解决方案1】:

您可能没有打开“单行模式”。单行模式允许. 匹配换行符。

例如this regular expression 不起作用,因为未打开单行模式。但是this one 确实有效。

如果您的正则表达式引擎支持单行模式,您可以通过在正则表达式前面加上 (?s): (?s)&lt;!-- Facebook Comments Plugin for WordPress.+?&lt;\/comments&gt; 来启用单行模式。如果没有,那么这样的事情应该可以工作:&lt;!-- Facebook Comments Plugin for WordPress(?:.|[\r\n])+?&lt;\/comments&gt;

请注意,我删除了 (),因为它们是多余的,除非您真的想要捕获文本。

【讨论】:

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