2017-12-08 14 views
-1

<h1>タグを<h2>に置き換えるのは苦労しています。Regexは、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>

がcapturetを取得することはできません。

このライン:

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

がキャプチャ得ることはありません、それが唯一の特殊文字で、クラスとIDと同じ設定を使用していますので、私をバッフル、など-:など。私は.*?がカバーすると思った。

本当にありがとうございます。ここで

答えて

0

似たような、すべての属性を取っている:(属性にすべてのものが、>)

$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; 
関連する問題