<li class="p_xingbie"><label>性别:</label><a href="ooxx.html" target="_blank">尤物一枚</a> <a href="xxoo.html" target="_blank">骚年一个</a></li>请帮忙用preg_match_all 从<li class="p_xingbie">(.*)</li>写个正则, 取出里边<a>里的字符, 整段代码只要<a>里的字符赤裸裸的: '尤物一枚 骚年一个' 其他多余的字符和标签都不要,因为<a>有可能一个, 有可能多个, 所以请用是<a>就匹配的代码最重要的 是定要 preg_match_all("/<li class=\"p_actor\">(.*?)<\/li>/is",$path,$str); 从<li>开始截取 到</li>结束 然后里边正则取字符谢谢各位
preg_match_all('/>([^<]+)<\/a>/isU',$v,$m[]);
}
print_r($m);
$path='<li class="p_xingbie"><label>性别:</label><a href="ooxx.html" target="_blank">尤物一枚</a> <a href="xxoo.html" target="_blank">骚年一个</a></li>';
preg_match_all("/<li class=\"p_xingbie\">(.*?)<\/li>/si",$path,$str);
preg_match_all("/target=\"_blank\">(.*?)<\/a>/si",$str[1][0],$content);
print_r($content[1]);
高手就是高手, 你这个给我解决了, 不过有个问题就是 用print_r是可以打印出数组来的 但是用echo却不能输出出来,请问该怎么用echo显示出来两位的代码都对, jordan102的代码我理解的多一点 谢谢两位
foreach($m as $v) echo join(' ',$v[1])."<br>"; //每个 li 中的 a 字符显示在一行
就是给每个<a>标签之间加个东西分开来