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

how to concat string with preg_replace without quotes

我有 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 - 添加网站 link 到 src 路径

我正在尝试使用此代码并且运行良好,但结果有如下所示的双引号,这打破了 link,我想添加网站 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>";
echo preg_replace($pattern, $replacement, $html);

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

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