preg_match_all匹配后的各个结果如何再进行统一替换?
preg_match_all('/<spanid="thread_(.+?)<\/a><\/span>/',$fp,$out);foreach($out[0]as$lin...
preg_match_all('/ <span id="thread_(.+?) <\/a> <\/span>/',$fp,$out);
foreach ($out[0] as $links)
$links = preg_replace('/ <span id="thread_(.+?)>/', '', $links);
$links = str_replace(' </span>','',$links);
echo $links.' <br>';
效果是只显示了用preg_match_all匹配的所有结果中最后一个结果!当然它删除了 <span>标签,而它前面的那些结果都没显示!仿佛是还应该有个foreach,但我不会写了!老大们给解一下! 展开
foreach ($out[0] as $links)
$links = preg_replace('/ <span id="thread_(.+?)>/', '', $links);
$links = str_replace(' </span>','',$links);
echo $links.' <br>';
效果是只显示了用preg_match_all匹配的所有结果中最后一个结果!当然它删除了 <span>标签,而它前面的那些结果都没显示!仿佛是还应该有个foreach,但我不会写了!老大们给解一下! 展开
1个回答
展开全部
呵呵,看看你的foreach是不是缺东西啦?
你把它的大括号给弄丢了,所以你的foreach在偷懒呢:)
preg_match_all('/ <span id="thread_(.+?) <\/a> <\/span>/',$fp,$out);
foreach ($out[0] as $links) { //看这里
$links = preg_replace('/ <span id="thread_(.+?)>/', '', $links);
$links = str_replace(' </span>','',$links);
echo $links.' <br>';
} //再看这里
你把它的大括号给弄丢了,所以你的foreach在偷懒呢:)
preg_match_all('/ <span id="thread_(.+?) <\/a> <\/span>/',$fp,$out);
foreach ($out[0] as $links) { //看这里
$links = preg_replace('/ <span id="thread_(.+?)>/', '', $links);
$links = str_replace(' </span>','',$links);
echo $links.' <br>';
} //再看这里
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询