假设有一字符串,内容如下:
$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?
$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);
?>
不过还是要看业务需求了,如果需求全是数字的话就不用改了。