如何使用标签替换HTML中的
标签?
我想将HTML页面转换为Google AMP页面,并且我遇到了这个问题,其中有很多<img>
,我想将它们变成<amp-img>
标记。如何使用<amp-img>标签替换HTML中的<img>标签?
例如,我想转:
<img src='apa.png'><br>
hi bro <img src="c.png'>
弄成这个样子:
<amp-img src="apa.png" width="800" height="684" layout="responsive" alt="AMP"></amp-img><br/>
hi bro <amp-img src="c.png" width="800" height="684" layout="responsive" alt="AMP"></amp-img>
我试着用PHP来取代这些标签,但没有奏效。
您可以使用preg_replace将字符串替换为模式(http://php.net/manual/en/function.preg-replace.php)。
试试这个代码:
echo htmlentities(preg_replace(
'/<img src="([^"]*)"\s*\/?>/',
'<amp-img src="$1" width="800" height="684" layout="responsive" alt="AMP"></amp-img>',
'<img src="apa.png"><br>hi bro <img src="c.png">'
));
在这里使用'htmlentities()'的目的是什么? – localheinz
Juste在使用浏览器测试代码时显示结果。当删除htmlentities()函数时,结果将不会正确显示,因为浏览器会将
如何使用http://3v4l.org代替?例如,请参阅https://3v4l.org/dKcD2。 – localheinz
如果HTML是存在于HTML文件,那么所有你需要做的就是做<amp-img width="800" height="684" layout="responsive" alt="AMP" src=
,如果你有一个编辑器,能够发现和使用普通rexpression更换的,使用搜索替换<img src=
在FIND
以下的正则表达式:
<img src=("|')(.*)'>
及以下的REPLACE
:
<amp-img src="$2" width="800" height="684" layout="responsive" alt="AMP"</amp-img>
我用Dreamwearver试过这个,它适合我。
不要忘了'
我改变了使用正则表达式查找和替换的答案,它也考虑了结束标记。 –
正是你试过到目前为止什么? – localheinz
这个HTML在哪里?他们是字符串吗?或者他们在HTML文件? –