Je suis très inexpérimenté avec regex, cependant j'essaye de créer une fonction qui filtre à travers the_content()
et get_the_content()
afin de modifier le SRC de toutes les images. Le but recherché serait de modifier l'URL pour utiliser http://i0.wp.com/
au lieu de http://
. Cela permettrait aux publications d'utiliser l'API Photon sans avoir besoin du côté JS de Photon.
Je sais que je dois utiliser the_content()
en utilisant un filtre pour y parvenir, mais je n’étais pas en mesure de le faire en utilisant str_replace()
. Je suppose donc que preg_replace()
fonctionnerait.
En outre, s'il est possible d'ajouter ?quality=70&strip=all
à la fin de l'URL, cela contribuerait à réduire la vitesse de la page.
Des pensées?
Essayons:
$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);
Le motif $ est assez simple et très spécifique. Vous devrez peut-être généraliser un peu plus mais cela devrait vous indiquer la direction à suivre. Par exemple. il ne prend pas soin des espaces blancs possibles. Une première tentative pour résoudre ce problème:
$pattern ='#<\s*img\s*src\s*=\s*"http://myserver.mydomain/(.*)"\s*/\s*>#';