私は正規表現についてはあまり経験がありませんが、すべての画像のSRCを修正するためにthe_content()
とget_the_content()
を通してフィルタリングする関数を作成しようとしています。意図された目的は、URLを変更してhttp://i0.wp.com/
の代わりにhttp://
を使用することです。これにより、PostはPhotonのJS側を必要とせずにPhoton APIを利用することができます。
これを達成するためにフィルタを使用してthe_content()
にフックする必要があることを私は知っていますが、私はstr_replace()
を使用してこれを一致させることができなかったので、preg_replace()
を使用することはうまくいくと思います。
また、URLの最後に?quality=70&strip=all
を追加することが可能であるなら、これはページスピードを下げるのを助けるでしょう。
何かご意見は?
やるだけやってみよう:
$str = '<img src="http://myserver.mydomain/picture.png" />';
$pattern ='#<img src="http://.*/(.*)" />#';
$replace = '<img src="http://http://i0.wp.com/$1?quality=70&strip=all />"';
$result = preg_replace($pattern, $replace, $str);
$パターンは非常にシンプルで非常に特殊です。もう少し一般化する必要があるかもしれませんが、進むべき方向を示しているはずです。例えば。空白の可能性はありません。この面倒を見ようとする最初の試み:
$pattern ='#<\s*img\s*src\s*=\s*"http://myserver.mydomain/(.*)"\s*/\s*>#';