正则表达式使用 php 全局将 h1 标签替换为 h2 标签



我很难尝试将<h1>标签替换为内容中的<h2>

我得到的最接近的是:

preg_replace('/<h1[s*](class|id|style)="(.*?)">(w*?)</h1>/mi', '<h2 $1="$2">$3</h2>',  $content);

这里的问题是常规 h1 行为:

<h1>This is the heading</h1>

不会被捕获。

这一行:

<h1 style="font-size:13px">Another heading</h1>

也不会被捕获,这让我感到困惑,因为它使用与类和 id 相同的设置,只使用特殊字符,例如-:等。我以为.*?会覆盖。

任何帮助将不胜感激。

这是类似的东西,取所有属性:(除了属性>之外的所有事物)

$str= <<<EOT
<h1>This is the heading</h1>
<h1 style="font-size:13px">Another heading</h1>
EOT;
$str = preg_replace('#<h1([^>]*)>(.*)</h1>#m','<h2$1>$2</h2>', $str);
print $str;

相关内容

  • 没有找到相关文章

最新更新