предварительная замена img src на data-переполнение стека src (PHP)


Я использую скрипт lazyload для iframes, мне нужно создать код preg_replace, чтобы изменить src на data-src.

Я пытаюсь сделать что-то подобное, но у меня не получилось:

$cache = preg_replace('%<iframe.*?src=["\'](.*?)["\'].*?/?>%i', 'data-src="$1"', $content);

Мой код - это только печать data-src="the link" без полного кода iframe.

Author: sadada dadasdad, 2017-11-29

1 answers

Единственное, что нужно сделать, это получить доступ к позиции нулевой ширины перед подстрокой src тега <iframe>. Ниже я использую \K для перезапуска полного совпадения строк, затем (?=src), чтобы заглянуть вперед, не используя никаких символов.

Код: ( Демонстрационный)

$content='Some text that contains src <iframe src="www.example.com"/> Some text';
$cache=preg_replace('~<iframe[^>]*\K(?=src)~i','data-',$content);
echo $cache;

Вывод:

Some text that contains src <iframe data-src="www.example.com"/> Some text
 1
Author: mickmackusa, 2017-11-29 05:56:43