e.g
main_string ="我有一个芒果<'价格'> (abcdef)<&#;' / price'> 10,香蕉<' / price'> (ghijk)<&#;' / price'> 15以及<' / price'>的苹果(lmnop)<&#;' / price'> 20.因此花费的总金额为45卢比&#34 ;;
我想找到第三次出现之间的子字符串" <'价格'> "第三次出现" <' / price'> "
即output =(lmnop)
解决方案
注意:此处在主字符串中,标记未作为字符串出现,因此我保持引用,例如<' price'>和<' / price'>。只有从标记中删除引号后,解决方案才有效。
答案 0 :(得分:1)
试试这个:
$string = 'I have a mango which <price>1111</price> 10, a banana which <price>3333</price> 15 and an apple which <price>5555</price> 20. So the total amount spent is Rs 45';
$pattern = '/\<price\>(.*?)\<\/price\>/';
$matches = array();
preg_match_all($pattern, $string, $matches);
var_dump($matches);
var_dump($matches[1][2]);
结果是:
array(2) {
[0]=>
array(3) {
[0]=>
string(19) "<price>1111</price>"
[1]=>
string(19) "<price>3333</price>"
[2]=>
string(19) "<price>5555</price>"
}
[1]=>
array(3) {
[0]=>
string(4) "1111"
[1]=>
string(4) "3333"
[2]=>
string(4) "5555"
}
}
string(4) "5555" // <-- that's what you want