как объединить строку с preg_replace без кавычек - PullRequest
0 голосов
/ 04 марта 2019

У меня есть html строка, подобная этой

<input alt="" src="/global/admin/plugins/fileman/Uploads/Images/Mail_1.jpg" style="width: 600px; height: 600px;" type="image" />

, и я хочу сделать два изменения, используя preg_replace

1 - изменить тег на input ==> img

2 -добавить ссылку на сайт к пути src

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

<img width="600" src="http://mywebsite.com/"/global/admin/plugins/fileman/Uploads/Images/Mail_1.jpg">

это php код

$pattern = "/(<input\s+).*?src=((\".*?\")|(\'.*?\')|([^\s]*)).*>/is";
$base = 'http://mywebsite.com/';
$replacement = "<img width=600 src=$base$2>";
echo preg_replace($pattern, $replacement, $html);

1 Ответ

0 голосов
/ 04 марта 2019

Ваша вторая группа захвата также фиксирует цитаты.Переместите кавычки из группы захвата, например, изменив шаблон на

/(<input\s+).*?src="([^"]*)".*?>/is
...