我有以下字符串
{item1}home::::Home{/item1}{item2}contact_us::::Contact Us{/item2}{item3}.....
所以它继续。
我需要按以下方式分割字符串
1 => {ITEM1}家::::首页{/ ITEM1}
2 => {item2} contact_us ::::与我们联系{/ item2}
有办法吗?
答案 0 :(得分:4)
$input = '{item1}home::::Home{/item1}{item2}contact_us::::Contact Us{/item2}{item3}.....';
$regex = '/{(\w+)}.*{\/\1}/';
preg_match_all($regex, $input, $matches);
print_r($matches[0]);
答案 1 :(得分:3)
你可以这样做:
$text = "{item1}home::::Home{/item1}{item2}contact_us::::Contact Us{/item2}{item3}.....){/item3}";
preg_match_all('/{item\d}.+?{\/item\d}/', $text, $results);
var_dump($results)
会产生:
Array
(
[0] => Array
(
[0] => {item1}home::::Home{/item1}
[1] => {item2}contact_us::::Contact Us{/item2}
[2] => {item3}.....){/item3}
)
)
答案 2 :(得分:2)
将preg_split()
与正则表达式/{.*?}.*?{\/.*?}/