【发布时间】:2015-05-08 09:51:48
【问题描述】:
我正在使用一个名为 Acronyms (https://wordpress.org/plugins/acronyms/) 的 WordPress 插件。这个插件用他们的描述替换了首字母缩略词。它使用 PHP PREG_REPLACE 函数。
问题在于它替换了<pre> 标签中包含的首字母缩略词,我用它来展示源代码。
您能否修改此表达式,使其不会替换包含在 <pre> 标记中的首字母缩略词(不仅直接,而且在任何时候)?有可能吗?
PHP代码是:
$text = preg_replace(
"|(?!<[^<>]*?)(?<![?.&])\b$acronym\b(?!:)(?![^<>]*?>)|msU"
, "<acronym title=\"$fulltext\">$acronym</acronym>"
, $text
);
【问题讨论】:
-
感谢 collapsar 的代码风格!
标签: php regex wordpress replace pre