本文实例讲述了php判断str字符串是否是xml格式数据的方法。分享给大家供大家参考,具体如
本文实例讲述了php判断str字符串是否是xml格式数据的方法。分享给大家供大家参考,具体如下:
<?php
//自定义xml验证函数xml_parser()
function xml_parser($str){
$xml_parser = xml_parser_create();
if(!xml_parse($xml_parser,$str,true)){
xml_parser_free($xml_parser);
return false;
}else {
return (json_decode(json_encode(simplexml_load_string($str)),true));
}
}
//应用示例:
$xmlstr=<<<ETO
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
<author>Jack Herrington</author>
<title>PHP Hacks</title>
<publisher>O'Reilly</publisher>
</book>
<book>
<author>Jack Herrington</author>
<title>Podcasting Hacks</title>
<publisher>O'Reilly</publisher>
</book>
<book>
<author>XML数据</author>
<title>脚本之家</title>
<publisher>tools.jb51.net</publisher>
</book>
</books>
ETO;
$jsonstr='{ "tools": [ { "name":"css format" , "site":"http://tools.jb51.net/code/css" }, { "name":"json format" , "site":"http://tools.jb51.net/code/json" }, { "name":"pwd check" , "site":"http://tools.jb51.net/password/my_password_safe" } ] }';
if(xml_parser($xmlstr)){
echo "\$xmlstr是xml格式数据";
}else{
echo "\$xmlstr不是xml格式数据";
}
echo "<br/>";
if(xml_parser($jsonstr)){
echo "\$jsonstr是xml格式数据";
}else{
echo "\$jsonstr不是xml格式数据";
}
?>
运行结果:
$xmlstr是xml格式数据
$jsonstr不是xml格式数据
PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线XML/JSON互相转换工具: http://tools.jb51.net/code/xmljson
在线格式化XML/在线压缩XML: http://tools.jb51.net/code/xmlformat
XML在线压缩/格式化工具: http://tools.jb51.net/code/xml_format_compress
XML代码在线格式化美化工具: http://tools.jb51.net/code/xmlcodeformat
php 判断 str 字符串 xml格式数据