Regex для изменения атрибутов img в Wordpress Filter - PullRequest
0 голосов
/ 26 мая 2011

У меня есть собственная тема, которую я разработал для клиента-фотографа, и мне нужно реализовать отложенную загрузку изображений, чтобы блог загружался быстрее, поскольку он ужасно медленный из-за количества изображений, которые у него есть в настоящее время, даже когда только показывая пять сообщений. Для этого я использую плагин jquery JAIL, но мне нужно иметь возможность изменять теги изображений для его правильной работы .. в основном мне нужно заменить атрибут src на заполнитель и установить атрибут data-href для источника URL-адрес. Кажется, я не могу найти разрешение, которое работает должным образом внутри фильтра WordPress, я в основном фильтрую хук the_content () в сообщениях ... Кто-нибудь знает, как я могу это сделать?

1 Ответ

1 голос
/ 26 мая 2011

Стандартное клише Stackoverflow для этих вопросов заключается в том, что вы должны использовать анализатор DOM.Что на самом деле правильно, но не вполне выполнимо (производительность) для манипулирования выводом.

Чтобы выполнить то, что вы хотите, вы можете попробовать:

$html = preg_replace_callback(
           '#(<img\s[^>]*src)="([^"]+)"#',
           "callback_img", $html);

Затем определить обратный вызов, например:

function callback_img($match) {
    list(, $img, $src) = $match;

    return "$img=\"placeholder\" data-href=\"$src\" ";
}

Обратите внимание, что это регулярное выражение работает только в том случае, если все ваши ссылки на изображения следуют этой схеме последовательно (все они должны использовать двойные кавычки, например).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...