假设有一字符串,内容如下:
$content="<ReceiptId>111</ReceiptId><ReceiptId>222</ReceiptId><ReceiptId>333</ReceiptId>"
请问用什么样的正则表达式可以获利到第二个<ReceiptId><ReceiptId>标志中的数字222?
$content="<ReceiptId>111</ReceiptId><ReceiptId>222</ReceiptId><ReceiptId>333</ReceiptId>"
请问用什么样的正则表达式可以获利到第二个<ReceiptId><ReceiptId>标志中的数字222?
解决方案 »
- 莫名其妙的问题
- smarty循环的时候,如何知道那条数据是第一条,哪条数据是最后一条?
- 求助:随机显示指定目录里面的图片?
- php 怎样将一装好的xml包 使用http 协议post到另一台服务器上,然后再获取状态服务器返回的xml包
- php里input框输入数字的问题
- /edit.php/uid/32/uname/test/ugender/1 这样的URL怎么弄的?这个是ZEND框架中这样用的,怎么实现的呢?
- php初学者
- 为什么建立不了数据库,错在哪里?帮帮新手!谢谢!
- 如何判断某个文件是隐含文件??
- curl采集时目标URL时302的问题
- 现有一个项目寻PHP行家做..详情请进
- 小弟今天申请到一个调试php的免费空间,速度不错。
$content=" <ReceiptId>111 </ReceiptId> <ReceiptId>222 </ReceiptId> <ReceiptId>333 </ReceiptId>";
$reg = "#<ReceiptId>\s*(\d+)\s*</ReceiptId>#";
preg_match_all($reg, $content, $matterns);
var_dump($matterns);?>
$content=" <ReceiptId>111 </ReceiptId> <ReceiptId>222 </ReceiptId> <ReceiptId>333 </ReceiptId>"
preg_match_all("/ <ReceiptId.*?>(.*?) <\/ReceiptId>/",$content,$new);
echo "<pre>";
print_r($new);
echo "</pre>";
?>
#是正则界限符array(2) {
[0]=>
array(3) {
[0]=>
string(28) "<ReceiptId>111 </ReceiptId>"
[1]=>
string(28) "<ReceiptId>222 </ReceiptId>"
[2]=>
string(28) "<ReceiptId>333 </ReceiptId>"
}
[1]=>
array(3) {
[0]=>
string(3) "111"
[1]=>
string(3) "222"
[2]=>
string(3) "333"
}
}
<?php
$content=" <ReceiptId>111 </ReceiptId> <ReceiptId>222 </ReceiptId> <ReceiptId>333 </ReceiptId>";
$reg = "# <ReceiptId>\s*(.*?)\s* </ReceiptId>#";
preg_match_all($reg, $content, $matterns);
var_dump($matterns);
?>
不过还是要看业务需求了,如果需求全是数字的话就不用改了。