PHP正则解决方案

php中文网
发布: 2016-06-13 13:37:17
原创
1062人浏览过

PHP正则
现在要用正则取出里面 17
 


17
同步发送即时短信返回结果


我是这样写的
preg_match("/\(.*)\/U",$string,$state);

但是输出:
Array
(
  [0] => 17
  [1] => 17
)

哪些错了啊,还有我用
simplexml_load_string解析这个XML报错,本想用这个函数取这个节点,但是不行,现在只能用正则了
表帮帮忙,谢谢。

------解决方案--------------------
1.正则没错。
你可以用$state[1]获取到error节点的值。

2.simplexml_load_string()如果报错。很可能是文件BOM头的原因或者编码不一致原因。
------解决方案--------------------
你那个输出时正确的
------解决方案--------------------
你的正则没有错,你取$state[1]就行了 前面那个不用理会

你用simplexml_load_string报错 八成是xml里面的换行符 回车符导致的 把它们都替换掉

PHP code

$xml='<?xml version="1.0" encoding="UTF-8"?><response><error>17</error><message>同步发送即时短信返回结果</message></response>';

$obj=simplexml_load_string(str_replace(array("\r","\n","\t"),'',$xml));
print_r($obj);
<br><font color="#e78608">------解决方案--------------------</font><br>$xml = simplexml_load_string($s);<br>echo $xml-&gt;error;<br><br>如果出错,是因为你的编码不合适<br><div class="clear"></div>
登录后复制

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号