【问题标题】:PHP: preg_replace() characters and make exceptionsPHP:preg_replace() 字符和异常
【发布时间】:2010-09-20 19:04:57
【问题描述】:

我需要一个 if() 函数来执行此操作:

preg_replace() 字母(abc 等),标签中包裹的除外(<p><b><span> 等)并排除字母 if它们是某个词的一部分。

$string = "<p>replace everything inside tags <b>only</b> </p>exception";  
$patterns = array();  
$patterns[0] = '/e/';  
$patterns[1] = '/b/';  
$patterns[2] = '/s/';  
$replacements = array();  
$replacements[2] = '-e-';  
$replacements[1] = '-b-';  
$replacements[0] = '-s-';  
echo preg_replace($patterns, $replacements, $string);

我希望“&lt;p&gt;”、“&lt;b&gt;”和“异常”一词保持不变。

【问题讨论】:

    标签: php html regex


    【解决方案1】:

    在正则表达式中尝试这样做几乎总是一个坏主意。您应该尝试使用 HTML 解析器:

    Robust and Mature HTML Parser for PHP

    【讨论】:

      猜你喜欢
      • 2011-04-15
      • 2015-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      • 2020-02-04
      • 1970-01-01
      • 2015-10-09
      相关资源
      最近更新 更多