前提・実現したいこと
現在Wordpressで簡易的なプラグインを作成しております。
そのプラグインでは、自動挿入されてしまった画像のwidthとheightを数値ごと削除して出力するというものなのですが、captionタグで入れてしまった場合予期せぬ部分まで削除されてしまうという状態に陥っております。
おそらく私自身が正規表現をしっかり理解できておらず、余計な書き方になっているための現象だと思うのですがお力添え頂ければ幸いです。
###プラグイン内のコード
function widthnone($content) { $content = preg_replace('/width=".{2}"/','',$content); $content = preg_replace('/width=".{3}"/','',$content); $content = preg_replace('/width=".{4}"/','',$content); $content = preg_replace('/width=".{5}"/','',$content); $content = preg_replace('/height=".{2}"/','',$content); $content = preg_replace('/height=".{3}"/','',$content); $content = preg_replace('/height=".{4}"/','',$content); $content = preg_replace('/height=".{5}"/','',$content); $content="<p>".$content."</p>"; return $content; }
width、heightが入っている出力前のコード
<img class="alignnone" src="example.jpg" alt="試し画像" width="500" height="281" /> [caption id="example" align="alignnone" width="500"] <a href="example.gif"> <img class="wp-image-3598 size-full" src="example.gif" alt="試し画像" width="500" height="280" /> </a> 消えてしまう内容 [/caption]
### プラグインを通してからの出力後の状態
<img class="alignnone" src="example.jpg" alt="試し画像" /> <a href="example.gif"> <img class="wp-image-3598 size-full" src="example.gif" alt="試し画像" /> </a>
上記のように、プラグインを通してしまうと[/caption]上の消えてしまう内容が表示されなくなります。
どうやら
$content = preg_replace('/width=".{2}"/','',$content);
を通している時点で消えてしまっているようです。
助言等頂けましたら幸いです。よろしくお願いいたします。