如何用不带引号的preg_replace连接字符串

时间:2019-03-04 15:10:41

标签: php regex preg-replace

我有这样的html字符串

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

并想使用 preg_replace

进行两项更改

1-将标签更改为输入==> 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 :(得分:1)

您的第二个捕获组也捕获了引号。将引号移出捕获组,例如,将模式更改为

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