Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何使用perl在HTML中向img源添加额外的参数_Regex_Perl - Fatal编程技术网

Regex 如何使用perl在HTML中向img源添加额外的参数

Regex 如何使用perl在HTML中向img源添加额外的参数,regex,perl,Regex,Perl,在这种情况下,我需要根据HTML源中的路径区分两个调用。这就是img标签的外观 <img src="/folder/12280218/160024536.images.jpg" /> 我计划将源代码更改为 <img src="/folder/12280218/160024536.images.jpg/1" /> 观察src末尾的“/1” 我需要这个,这样当我服务这个图像时,我可以更改控制器中的流 这是我迄今为止一直在尝试的 my $string = '<

在这种情况下,我需要根据HTML源中的路径区分两个调用。这就是img标签的外观

<img src="/folder/12280218/160024536.images.jpg" />

我计划将源代码更改为

<img src="/folder/12280218/160024536.images.jpg/1" />

观察src末尾的“/1”

我需要这个,这样当我服务这个图像时,我可以更改控制器中的流

这是我迄今为止一直在尝试的

my $string = '<p><img src="/folder/12280218/160024536.images.jpg" /></p>';

$string =~ s/<img\s+src\=\"(.*)"\s+\/><\/p>/<img src\=\"$1\/1" \><\/p>/g;
my$string='

'; $string=~s///g;
只要
$string
看起来像这样,它就可以工作。 在我们的应用程序中,用户可以使用CKEditor更改HTML输入。 他可以通过在src属性之前或之后添加
width=“800”
来更改图像标记。我希望正则表达式能够处理所有这些情况

请让我知道如何进行。 提前感谢。

替换:
()

通过
$1/1$2

演示


编辑:更改了正则表达式以处理具有其他属性的情况(如“宽度”部分)

使用HTML解析器而不是正则表达式我认为最好添加一个查询参数
/folder/12280218/16002436.images.jpg?mode=2
如果一行中有两个
img
标记,您的正则表达式将删除一个。在演示中,我实际上有3个img标签在一行