使用 PHP 删除 html 字符串中 AMP 页面的自定义标签
Remove custom tags for AMP page in html string using PHP
我不太会写正则表达式所以求助
我的页面有 html 个字符串。我想将 html 字符串转换为 Google AMP 兼容页面。
我想在其中替换一些自定义 html 标签。
<define:dos> This string explains DOS.</define:dos>
输出应该只有This string explains DOS.
我的 html 字符串中有几个以 <define:
开头的字符串 我试图通过为每个按预期工作的标签编写单独的 preg_replace
来删除它们:
$html = preg_replace('#<define:wlan>#i', '', $html);
$html = preg_replace('#<define:wifi>#i', '', $html);
$html = preg_replace('#<define:dos>#i', '', $html);
以此类推
我尝试了如下方法但没有成功:(
$html = preg_replace('#\<define[^\]>*\](.*?)\</define\>#m', "", $html);
我想要通用的解决方案。请帮忙。
提前致谢。
您可以使用
<(define:[^>]+>)(.*?)<\/
并替换为第二个捕获的组,
。
我不太会写正则表达式所以求助
我的页面有 html 个字符串。我想将 html 字符串转换为 Google AMP 兼容页面。 我想在其中替换一些自定义 html 标签。
<define:dos> This string explains DOS.</define:dos>
输出应该只有This string explains DOS.
我的 html 字符串中有几个以 <define:
开头的字符串 我试图通过为每个按预期工作的标签编写单独的 preg_replace
来删除它们:
$html = preg_replace('#<define:wlan>#i', '', $html);
$html = preg_replace('#<define:wifi>#i', '', $html);
$html = preg_replace('#<define:dos>#i', '', $html);
以此类推
我尝试了如下方法但没有成功:(
$html = preg_replace('#\<define[^\]>*\](.*?)\</define\>#m', "", $html);
我想要通用的解决方案。请帮忙。
提前致谢。
您可以使用
<(define:[^>]+>)(.*?)<\/
并替换为第二个捕获的组,。