Изменить источник изображения с помощью фильтра The_Content?

Я очень неопытен с регулярным выражением, однако я пытаюсь создать функцию, которая фильтрует через the_content() и get_the_content() , чтобы изменить SRC всех изображений. Целью было бы изменить URL-адрес, чтобы использовать http://i0.wp.com/ вместо http:// . Это позволит столбцам использовать API-интерфейс Photon без необходимости использования JS-стороны Photon.

Я знаю, что мне нужно подключиться к the_content() с помощью фильтра, чтобы выполнить это, но я не смог его использовать с помощью str_replace() , поэтому я предполагаю, что использование preg_replace() будет работать.

Кроме того, если можно добавить ?quality=70&strip=all до конца URL-адреса, это поможет снизить скорость страницы.

Есть предположения?

Solutions Collecting From Web of "Изменить источник изображения с помощью фильтра The_Content?"

Давайте попробуем:

 $str = '<img src="http://img.wordpressask.com/posts/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*>#';