PHPで自作のブログがあります。
その記事の中に、
<img width="100" height="100" src="×××.png" alt="">
のタグがいくつかあります。
【変更したいこと】
<img width="60" height="60" src="×××.png" alt="">
にPHPを使ってすべての記事の画像を一括に変換したいです!
アドバイスいただけると幸いです。
【参考までに・・・ワードプレスの時は、こちらのご解答をいただき解決しました。今回の質問はワードプレス環境ではありません。】
function change_view_imagesize($content) {
if((preg_match('#<img ([^>]+?)( (width|height)="100"){2}([^>]+)>#', $content)) and wp_is_mobile()) {
$content = preg_replace('#<img ([^>]+?)(?: (width|height)="100"){2}([^>]+)>#', '<img $1 width="60" height="60"$3>', $content);
}
return $content;
}
add_filter( 'the_content', 'change_view_imagesize' );
おそらく生成されたタグに対して全置換をかけたい、という質問だとおもうので、そう解釈して進めますね。
コメントの方も書いていますが、手動で関数を呼び出す形になります。add_filterはありませんので。
呼び出す関数はchange_view_imagesizeをそのまま使えると思います。( and wp_is_mobile()だけいらないので削除)
HTMLを表示するブログ内の関数を探し出し、
//$htmlはブログの内容 $html = change_view_imagesize($html); print $html;
こう書きます。
しかし、HTMLを表示する関数を自力で探し出すのは面倒ですしスキルも少し必要です。
面倒であれば、PHPでするのではなく、javascriptを使ってみてはどうでしょう。
javascriptであれば、「html表示(PHPの処理・表示含む)が終わった後に発動する」命令、addEventListener(attachEvent)が使えます。これはワードパッドのadd_filterとほぼ一緒です。
http://dwm.me/archives/845
phpでどうしてもやりたい場合で分からないときは、環境情報を教えていただければ他の方も答えやすいと思います!
・使ってるブログのシステム、バージョン
・何か制限があればその制限
ありがとうございます。
2014/03/20 21:32:44javascriptで対応可能なんですね!
この辺りを勉強したいと思います!