php判断str字符串是否是xml格式数据的方法示例

yipeiwu_com7年前PHP代码库

本文实例讲述了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>【宜配屋www.yipeiwu.com】</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相关内容感兴趣的读者可查看本站专题:《PHP针对XML文件操作技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结

介绍 今天发现php5.1.*和php5.2.*在数据库预编译代码执行的时候出现差异。 预编译优点 1.使用占位符,避免逐字输入数据到SQL中。自动处理引号和反斜线等字符的转义——增加安...

phpMyAdmin 安装及问题总结

1/无法载入mcrypt扩展,请检查PHP配置; 2/配置文件现在需要绝密的短语密码(blowfish_secret); 3/#2003-服务器没有响应。 由于目前phpMyAdmin的...

对PHP依赖注入的理解实例分析

本文实例讲述了对PHP依赖注入的理解。分享给大家供大家参考,具体如下: 看Laravel的IoC容器文档只是介绍实例,但是没有说原理,之前用MVC框架都没有在意这个概念,无意中在phal...

php日志函数error_log用法实例分析

本文实例讲述了php日志函数error_log用法。分享给大家供大家参考,具体如下: php内置打印log日志的函数,这个对php程序调试非常高效 1.配置 编辑php.ini文件...

收集的DedeCMS一些使用经验

以下的都是转过来的,只是参补其官方的不足,其实它历害的功能没谈到,呵呵,保留一下先 1、在文章列表中,有的标题被截断了,怎么样能用点结尾?   用什么样的代码可以让鼠...