PHP正则表达式将清洁XML供稿中的元素
我正在解析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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您绝对不应该相信简单的正则表达式可以剥离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.