我有一个字符串,我想用
我的字符串如下:
$str = "<h3>hello</h3>this is my test and <h3><span>bye</span></h3>";
我想达到的是这样:
array(
'<h3>hello</h3>',
'this is my test and ',
'<h3><span>bye</span></h3>'
);
enter code here
有什么办法吗?
感谢您的提前帮助。
答案 0 :(得分:3)
您可以将preg_split
与PREG_SPLIT_DELIM_CAPTURE
选项一起使用:
$arr = preg_split('/(<h3>.*?<\/h3>)/', $str, -1, PREG_SPLIT_DELIM_CAPTURE);
您可能还希望包含PREG_SPLIT_NO_EMPTY
选项,这样当两个<h3>
块彼此相邻或在字符串的开头或结尾时,您不会得到空值,即< / p>
$arr = preg_split('/(<h3>.*?<\/h3>)/', $str, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);