Regex 如何使用perl在HTML中向img源添加额外的参数
在这种情况下,我需要根据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 = '<
<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标签在一行