php riff2

本文介绍了一个简单的PHP XML解析工具,该工具使用PHP内置函数实现XML数据的解析,并将解析后的数据转换为易于操作的对象形式。此外,还提供了一个用于截取UTF8编码字符串的实用函数。

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

简易XML解析

//XML解析工具 //XML节点 class XMLNode { function XMLNode ($aa) { foreach ($aa as $k=>$v) $this->$k = $aa[$k]; } } function parseXML($data) { $parser = xml_parser_create(); xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); xml_parse_into_struct($parser, $data, $values, $tags); xml_parser_free($parser); // 遍历 XML 结构 foreach ($tags as $key=>$val) { if ($key == "COMMAND") { $molranges = $val; // each contiguous pair of array entries are the // lower and upper range for each molecule definition for ($i=0; $i < count($molranges); $i+=2) { $offset = $molranges[$i] + 1; $len = $molranges[$i + 1] - $offset; $tdb[] = parseMol(array_slice($values, $offset, $len)); } } else { continue; } } return $tdb[0]; } function parseMol($mvalues) { for ($i=0; $i < count($mvalues); $i++) { $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"]; } return new XMLNode($mol); }

用法:

<Test>

<Test2>test2</Test2>

<Test3>test3</Test3>

</Test>

$db = parseXML($data);

$db->Test2 = test2

$db->Test3 = test3

UTF8子串截取

//截取utf8字符串 function utf8Substr($str, $from, $len) { return preg_replace('#^(?:[/x00-/x7F]|[/xC0-/xFF][/x80-/xBF]+){0,'.$from.'}'. '((?:[/x00-/x7F]|[/xC0-/xFF][/x80-/xBF]+){0,'.$len.'}).*#s', '$1',$str); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值