使用 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:[^>]+>)(.*?)<\/

并替换为第二个捕获的组,

https://regex101.com/r/wZQBuM/2