html包含xml文件,如何从包含HTML标签的XML文件,但由于内容

本文介绍了一种处理无法直接解析的无效XML字符串的方法。通过使用PHP中的htmlentities与SimpleXMLElement,可以将文本内容转换为有效格式进行解析。此外,还提供了一种使用正则表达式提取标签内容的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

你的XML字符串无效,则必须在text节点转换content到ヶ辆第一,例如:

$textContent = htmlentities($text);

在那之后,我们有:

$xmlText = '

<p>HTML content 1</p>

<q>HTML<q> content 2

HTML <b>content 3<b>

';

现在,我们只需要请使用SimpleXMLElement来解析:

$xmlObject = new SimpleXMLElement($xmlText);

$items = $xmlObject->xpath("text");

foreach ($items as $item){

echo html_entity_decode($item);

}

更新1

如果你不能改变你的XML字符串,你需要使用正则表达式,而不是htmlDom:

function get_tag_contents($tag, $xml) {

preg_match_all("#(.*?)$tag>#", $xml, $matches);

return $matches[1];

}

$invalidXml = '

HTML content 1

HTML content 2

HTML content 3

';

$textContents = get_tag_contents('text', $invalidXml);

foreach ($textContents as $content) {

echo $content;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值