如何用 <amp-img> 标签替换 HTML 中的 <img> 标签?
How can I replace <img> tags in HTML with <amp-img> tags?
我想将 HTML 页面变成 Google AMP 页面,但我遇到了这个问题,我有很多 <img>
我想变成 <amp-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 替换这些标签,但没用。
如果这个 HTML 出现在 HTML 文件中,那么您需要做的就是用 <amp-img width="800" height="684" layout="responsive" alt="AMP" src=
搜索替换 <img src=
如果您的编辑器能够使用正则表达式查找和替换,请在 FIND
上使用以下正则表达式:
<img src=("|')(.*)'>
并在 REPLACE
之后:
<amp-img src="" width="800" height="684" layout="responsive" alt="AMP"</amp-img>
我用 Dreamwearver 试过了,它对我有用。
您可以使用 preg_replace 将模式替换为字符串 (http://php.net/manual/en/function.preg-replace.php)。
试试这个代码:
echo htmlentities(preg_replace(
'/<img src="([^"]*)"\s*\/?>/',
'<amp-img src="" width="800" height="684" layout="responsive" alt="AMP"></amp-img>',
'<img src="apa.png"><br>hi bro <img src="c.png">'
));
我只是处于一种情况,我需要更改一个元字段(WordPress 自定义所见即所得字段)中的所有图像标签,我认为这可能对其他人有所帮助。这段代码基本上是这里发布的一些回复的组合,稍作修改,因为 <img>
标签在 src:
之前有额外的信息
echo preg_replace(
'/<img .*? src="([^"]*)" .*?>/',
'<amp-img src="" width="600" height="600" layout="intrinsic" alt="AMP"></amp-img>',
$meta_field_output
);
经过一段时间的正则表达式测试,我找到了符合我需求的解决方案,
return preg_replace_callback('/<img[\s*]alt="([^"]*)"[\s*]src="([^"]*)"([\s*]?)((.*?)+?)>/',
function ($found) {
$size = (getimagesize($found[2]));
return '<amp-img src="' . $found[2] . '" width="'. $size[0] .'" height="' . $size[1] . '" layout="responsive" alt="' . $found[1] .'"></amp-img>';
}, $html);
我想将 HTML 页面变成 Google AMP 页面,但我遇到了这个问题,我有很多 <img>
我想变成 <amp-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 替换这些标签,但没用。
如果这个 HTML 出现在 HTML 文件中,那么您需要做的就是用 <amp-img width="800" height="684" layout="responsive" alt="AMP" src=
<img src=
如果您的编辑器能够使用正则表达式查找和替换,请在 FIND
上使用以下正则表达式:
<img src=("|')(.*)'>
并在 REPLACE
之后:
<amp-img src="" width="800" height="684" layout="responsive" alt="AMP"</amp-img>
我用 Dreamwearver 试过了,它对我有用。
您可以使用 preg_replace 将模式替换为字符串 (http://php.net/manual/en/function.preg-replace.php)。
试试这个代码:
echo htmlentities(preg_replace(
'/<img src="([^"]*)"\s*\/?>/',
'<amp-img src="" width="800" height="684" layout="responsive" alt="AMP"></amp-img>',
'<img src="apa.png"><br>hi bro <img src="c.png">'
));
我只是处于一种情况,我需要更改一个元字段(WordPress 自定义所见即所得字段)中的所有图像标签,我认为这可能对其他人有所帮助。这段代码基本上是这里发布的一些回复的组合,稍作修改,因为 <img>
标签在 src:
echo preg_replace(
'/<img .*? src="([^"]*)" .*?>/',
'<amp-img src="" width="600" height="600" layout="intrinsic" alt="AMP"></amp-img>',
$meta_field_output
);
经过一段时间的正则表达式测试,我找到了符合我需求的解决方案,
return preg_replace_callback('/<img[\s*]alt="([^"]*)"[\s*]src="([^"]*)"([\s*]?)((.*?)+?)>/',
function ($found) {
$size = (getimagesize($found[2]));
return '<amp-img src="' . $found[2] . '" width="'. $size[0] .'" height="' . $size[1] . '" layout="responsive" alt="' . $found[1] .'"></amp-img>';
}, $html);