PHP拆分/分解字符串
我想在PHP中拆分/分解一个字符串。字符串如下所示:PHP拆分/分解字符串,php,regex,split,explode,Php,Regex,Split,Explode,我想在PHP中拆分/分解一个字符串。字符串如下所示: <strong>Label</strong><p>Value</p> $string = "<strong>Label</strong><p>Value</p>"; $pos = strpos($string,'<p>'); $array = array(); $array[] = substr($string, 0,$pos); $
<strong>Label</strong><p>Value</p>
$string = "<strong>Label</strong><p>Value</p>";
$pos = strpos($string,'<p>');
$array = array();
$array[] = substr($string, 0,$pos);
$array[] = substr($string,$pos);
标签值
因此:
array(
'<strong>Label</strong>',
'<p>Value</p>'
)
数组(
“标签”,
“值”
)
我怎样才能做到这一点呢?如果不做一些类似以下的黑客行为,使用explode就无法做到这一点:
$str = "<strong>Label</strong><p>Value</p>";
$strExp = explode("<p>", $str);
$strExp[1] = "<p>" . $strExp[1];
$str=“标签值”;
$strExp=爆炸(“”,$str);
$strExp[1]=“”$strExp[1];
我建议改用正则表达式。拆分不是这样工作的。您需要将preg_split与preg_split_DELIM_CAPTURE标志一起使用。这不是总是比
preg
函数快吗
<?php
$str = "<strong>Label</strong><p>Value</p>";
$str = explode( "g><p", $str );
$str = implode( "g>~<p", $str);
$str = explode( "~", $str );
您可以这样做:
<strong>Label</strong><p>Value</p>
$string = "<strong>Label</strong><p>Value</p>";
$pos = strpos($string,'<p>');
$array = array();
$array[] = substr($string, 0,$pos);
$array[] = substr($string,$pos);
$string=“标签值”;
$pos=strpos($string,);
$array=array();
$array[]=substr($string,0,$pos);
$array[]=substr($string,$pos);
或者使用preg_match:
preg_match('%(.*g>)(.*)%',$string,$array);
//$array[1] = '<strong>Label</strong>'
//$array[2] = '<p>Value</p>'
preg_match('%(.*g>)(.*)%,$string,$array);
//$array[1]='标签'
//$array[2]='值'
这应该可以做到
$string = "<strong>Label</strong><p>Value</p>";
$array = explode("\t", str_replace("><", ">\t<", $string));
$string=“标签值”;
$array=explode(“\t”,str\u replace(“>\t