PHP正则表达式将清洁XML供稿中的元素

发布于 2025-01-18 21:47:40 字数 1160 浏览 1 评论 0原文

我正在解析XML feed,其中包含具有HTML内容的描述标签:

<DESCRIPTION>
<![CDATA[ <p style="text-align: justify;">Lahodná příchuť stvořená pro ochucování vlastních liquidů od italského potravinářského výrobce Flavour Art.</p> <p style="text-align: justify;">Dávkování příchuti do liquidu je zcela individuální, doporučujeme zhruba 8 kapek na 10 ml nikotinové báze. Kažopádně tohle je na každém z nás jak moc intezivní příchuť vyžaduje, tudíž může dát kapek méně, ale i více. Samozřejmě všeho moc škodí, proto nedoporučujeme aplikovat více než 15 kapek na 10 ml nikotinové báze, samotná příchuť neobsahuje žádný nikotin. Více o míchání vlastních e-liquidů si můžete přečíst <strong><a title="Míchání e-liquidů" href="http://www.vaporism.cz/nez-zacneme-e-kourit/michame-si-vlastni-e-liquid-/">v našem manuálu ke snadnému míchání</a>.</strong></p> <p style="text-align: justify;"> Objem: 10ml</p> <p style="text-align: justify;"> Vyrobeno v Itálii.</p> ]]>
</DESCRIPTION>

但是我只需要

从此HTML内容中删除元素标签。 preg_replace('/\&lt; a(。*?)\&gt;(。没有为我工作..

I'm parsing XML feed which contains DESCRIPTION tag with html content like that:

<DESCRIPTION>
<![CDATA[ <p style="text-align: justify;">Lahodná příchuť stvořená pro ochucování vlastních liquidů od italského potravinářského výrobce Flavour Art.</p> <p style="text-align: justify;">Dávkování příchuti do liquidu je zcela individuální, doporučujeme zhruba 8 kapek na 10 ml nikotinové báze. Kažopádně tohle je na každém z nás jak moc intezivní příchuť vyžaduje, tudíž může dát kapek méně, ale i více. Samozřejmě všeho moc škodí, proto nedoporučujeme aplikovat více než 15 kapek na 10 ml nikotinové báze, samotná příchuť neobsahuje žádný nikotin. Více o míchání vlastních e-liquidů si můžete přečíst <strong><a title="Míchání e-liquidů" href="http://www.vaporism.cz/nez-zacneme-e-kourit/michame-si-vlastni-e-liquid-/">v našem manuálu ke snadnému míchání</a>.</strong></p> <p style="text-align: justify;"> Objem: 10ml</p> <p style="text-align: justify;"> Vyrobeno v Itálii.</p> ]]>
</DESCRIPTION>

But I need to remove only elements

tags from this html content.. I already tried this:
preg_replace('/\<a (.*?)\>(.*?)\<\/a\>/', '$2', $vap_description); but it didn't worked for me..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟柳画桥 2025-01-25 21:47:41

您绝对不应该相信简单的正则表达式可以剥离HTML,因为它可能很容易受到伤害。

尝试在每个节点上解析XML并迭代,应用 https://github.com/ezyang/ezyang/ezyang/htmlpurifier 对此。

You should never trust simple regular expressions to strip-out HTML as it is potentially vulnerable.

Try parsing your XML and iterate over each node, applying https://github.com/ezyang/htmlpurifier to it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文