PHP explode 如何在分割字符串的时候保留分割符 20
比如现在有一个类似的列表如<liclass="list">xxxxxx</li><liclass="list">xxxxxx</li><liclass="list">xx...
比如现在有一个类似的列表如
<li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li>
我想将其分割为数组
但是用explode分割该字符串的时候
假如我以 "li><li" 作为分割符号
虽然可以分割开来 但"li><li"本身就不存在了
如何在php中将类似的列表分隔开来并包含分隔符本身? 展开
<li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li>
我想将其分割为数组
但是用explode分割该字符串的时候
假如我以 "li><li" 作为分割符号
虽然可以分割开来 但"li><li"本身就不存在了
如何在php中将类似的列表分隔开来并包含分隔符本身? 展开
4个回答
展开全部
<?php
$string = '<li class="list">aaaa</li><li class="list">bbbb</li><li class="list">cccc</li><li class="list">ddddd</li><li class="list">eeeee</li><li class="list">fffff</li>';
$patterns = array();
$patterns[0] = '/\<li class="list"\>/';
$patterns[1] = '/\<\/li\>/';
$replacements = array();
$replacements[0] = '';
$replacements[1] = ' ';
$string= preg_replace($patterns, $replacements, $string);
$str_array=explode(' ',$string);
print_r($str_array); //想要的数组
?>
$string = '<li class="list">aaaa</li><li class="list">bbbb</li><li class="list">cccc</li><li class="list">ddddd</li><li class="list">eeeee</li><li class="list">fffff</li>';
$patterns = array();
$patterns[0] = '/\<li class="list"\>/';
$patterns[1] = '/\<\/li\>/';
$replacements = array();
$replacements[0] = '';
$replacements[1] = ' ';
$string= preg_replace($patterns, $replacements, $string);
$str_array=explode(' ',$string);
print_r($str_array); //想要的数组
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你把有规则的字符串 处理成数组,explode 是行不通的,你只能用正则匹配,正则会返回一个数组,这个数组就是你想要的结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$x=
"<li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li>";
$arr=explode("<li class="list">",$x);
function cube($n)
{
return "<li class="list">".$n;
}
$arr2= array_map("cube", $arr);
"<li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li><li class="list">xxxxxx</li>";
$arr=explode("<li class="list">",$x);
function cube($n)
{
return "<li class="list">".$n;
}
$arr2= array_map("cube", $arr);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我不知道有没有你说的那种函数,不过,就你做到的这种程度,你可以处理一下你得到的数组,给数组中第一个元素结尾加上li>这个,最后一个元素开头加上<li,中间的元素头加<li尾加li>,这样行得通吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询