我很难尝试将<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;