$p_preg = "/<p>.*<\/p>|<p>.*|.*<\/p>/";
$arr = preg_match($p_preg,$htmlbody);
$temp = $arr[0];
$arr[0] = $arr[7];
$arr[7] = $temp;
$htmlbody = implode($arr);
echo $htmlbody;如上代码,$htmlbody是一个html文章的网页源代码(其中有很多段落<p>..</p>),我现在要把这整个$htmlbod按段落赋给数组,然后通过数组调换段落,再用implode()函数重新整合,实现文章段落换位,但是以上代码结果不对,请问各位该怎么写
注:我在其他地方问过,有人说把正则式子改成:$p_preg = "/\s*<p>.+?\s*<\/p>/s";这样改完后确实可以运行,但是它只能匹配完整写法的<p>..</p>,如果标签不完全就匹配不出段落,如:<p>...<p>..</p>或:...</p><p>..</p>,这几种情况就匹配不出,请问正则式子该怎么改
$arr = preg_match($p_preg,$htmlbody);
$temp = $arr[0];
$arr[0] = $arr[7];
$arr[7] = $temp;
$htmlbody = implode($arr);
echo $htmlbody;如上代码,$htmlbody是一个html文章的网页源代码(其中有很多段落<p>..</p>),我现在要把这整个$htmlbod按段落赋给数组,然后通过数组调换段落,再用implode()函数重新整合,实现文章段落换位,但是以上代码结果不对,请问各位该怎么写
注:我在其他地方问过,有人说把正则式子改成:$p_preg = "/\s*<p>.+?\s*<\/p>/s";这样改完后确实可以运行,但是它只能匹配完整写法的<p>..</p>,如果标签不完全就匹配不出段落,如:<p>...<p>..</p>或:...</p><p>..</p>,这几种情况就匹配不出,请问正则式子该怎么改
如上代码,\$htmlbody是一个html文章的网页源代码(其中有很多段落 <p>.. </p>),我现在要把这整个$htmlbod按段落赋给数组,然后通过数组调换段落,再用implode()函数重新整合,实现文章段落换位,但是以上代码结果不对,请问各位该怎么写
注:我在其他地方问过,有人说把正则式子改成:$p_preg = "/\s* <p>.+?\s* <\/p>/s";这样改完后确实可以运行,但是它只能匹配完整写法的 <p>.. </p>,如果标签不完全就匹配不出段落,如: <p>... <p>.. </p>或:... </p> <p>.. </p>,这几种情况就匹配不出,请问正则式子该怎么改
HTML;$p_preg = "/(<\/?p>)/";
$arr = preg_split($p_preg, $htmlbody, -1, PREG_SPLIT_DELIM_CAPTURE);
print_r($arr);得:
Array
(
[0] => 如上代码,$htmlbody是一个html文章的网页源代码(其中有很多段落
[1] => <p>
[2] => ..
[3] => </p>
[4] => ),我现在要把这整个()函数重新整合,实现文章段落换位,但是以上代码结果不对,请问各位该怎么写
注:我在其他地方问过,有人说把正则式子改成: = "/\s*
[5] => <p>
[6] => .+?\s* <\/p>/s";这样改完后确实可以运行,但是它只能匹配完整写法的
[7] => <p>
[8] => ..
[9] => </p>
[10] => ,如果标签不完全就匹配不出段落,如:
[11] => <p>
[12] => ...
[13] => <p>
[14] => ..
[15] => </p>
[16] => 或:...
[17] => </p>
[18] =>
[19] => <p>
[20] => ..
[21] => </p>
[22] => ,这几种情况就匹配不出,请问正则式子该怎么改
)后续工作自己看着办
<p>如上代码,\$htmlbody是一个html文章的网页源代码(其中有很多段落 .. </p>),我现在要把这整个</p>htmlbod按段落赋给数组,然后通过数组调换段落,再用<p>implode()函数重新整合,实现文章段落换位,但是以上代码结果不对,请问各位该怎么写
注:我在其他地方问<p>过,有人说把正则式子</p改成:<[>这样改完后确实可以运行,但是它只能匹配完整写法的 <p>.. </p>,如果标签不完全就匹配不出段落,如: <p>.. >或:... </p> <p>.. </p>,这几种情况就匹配不出,请问正则式子该怎么改
HTML;$arr = preg_split('/<\/?p>/', $htmlbody);
echo '<pre>';
print_r($arr);
echo '</pre>';
Array
(
[0] =>
[1] => 如上代码,$htmlbody是一个html文章的网页源代码(其中有很多段落 ..
[2] => ),我现在要把这整个
[3] => htmlbod按段落赋给数组,然后通过数组调换段落,再用
[4] => implode()函数重新整合,实现文章段落换位,但是以上代码结果不对,请问各位该怎么写
注:我在其他地方问
[5] => 过,有人说把正则式子<[>这样改完后确实可以运行,但是它只能匹配完整写法的
[6] => ..
[7] => ,如果标签不完全就匹配不出段落,如:
[8] => .. >或:...
[9] =>
[10] => ..
[11] => ,这几种情况就匹配不出,请问正则式子该怎么改
)