изменить значение на атрибут src, если в html-документе найдено «cid:»

как я могу сказать php посмотреть, если атрибут src начинается с ‘cid:’ и если да, заменить его другим значением?

<img src="cid:xx_xxxxxxxx_xxxxxxxxxxxxxxxxxxx" width="544" height="340">

<?php
$new_link = "http://www.example.com'";
preg_replace("#^cid:#", $new_link);
?>

0

Решение

^ предназначен для начала строки или строки в зависимости от используемого модификатора. Ты хочешь

<?php
$new_link = "http://www.example.com'";
echo preg_replace('~src="cid.*?"~',"src='$new_link'", '<img src="cid:xx_xxxxxxxx_xxxxxxxxxxxxxxxxxxx" width="544" height="340">');
?>

Выход:

<img src='http://www.example.com'' width="544" height="340">

Вторая конечная одинарная кавычка в конце src от $newlink,

. для любого персонажа * для любого количества «любых символов» и тому ? говорит остановиться при первом появлении следующего персонажа. В этом случае это двойная кавычка, которая должна сделать это захватить весь атрибут строки src.

Если src может использовать как одинарные, так и двойные кавычки, это следует учитывать (также обратите внимание, что здесь я удалил заключительную цитату из $newlink).

<?php
$new_link = "http://www.example.com";
echo preg_replace('~src=("|\')cid.*?\1~',"src='$new_link'", '<img src="cid:xx_xxxxxxxx_xxxxxxxxxxxxxxxxxxx" width="544" height="340">');
?>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]