如何提取a标签里面的指定内容合并成一个数组。

qq_15467669 2017-08-03 04:06:59
$str=<<<'text'
<div id="portal_block_68" class="block move-span"><div id="portal_block_68_content" class="dxb_bc"><div class="module cl ml">
<ul><li style="width: 105px;">
<a href="abc.php?mod=vied&ssid=2925" target="_blank"><img src="data/7e785274ce331dd4324.jpg" width="145" height="55" alt="标题111" /></a>
<p><a href="abc.php?mod=vied&ssid=2925" title="标题gx111" target="_blank">标题ad111adsaa</a></p>
</li></ul>
</div></div></div><div id="portal_block_69" class="block move-span"><div id="portal_block_69_content" class="dxb_bc"><div class="module cl xl xl1">
<ul><li><a href="abc.php?mod=vied&ssid=2949" title="标题ce2222" target="_blank">标题fss2222aassa</a></li><li><a href="abc.php?mod=vied&ssid=296" title="标题d3333" target="_blank">标题33xx</a></li><li><a href="abc.php?mod=vied&ssid=724" title="标题44444" target="_blank">标题444sfwe</a></li><li><a href="abc.php?mod=vied&ssid=2923" title="标题x5555" target="_blank">标题s555sdfsa</a></li><li><a href="abc.php?mod=vied&ssid=250" title="标题fs666" target="_blank">标题ersfs6666e</a></li></ul>
</div></div></div><div id="portal_block_71" class="block move-span"><div id="portal_block_71_content" class="dxb_bc"><div class="module cl xl xl1">
<ul><li><a href="abc.php?mod=vied&ssid=1216" title="标题777777" target="_blank">标题xxs777</a></li><li><a href="abc.php?mod=vied&ssid=21226" title="标题8888" target="_blank">标题88sdfsaf</a></li></ul>
</div></div></div>
text;

我想他变成如下数组:
array[0]=array(2925,"标题gx111")
array[1]=array(2949,"标题ce2222")
array[2]=array(296,"标题d3333")
array[3]=array(724,"标题44444")
array[4]=array(2923,"标题x5555")
array[5]=array(250,"标题fs666")
array[6]=array(1216,"标题777777")
array[7]=array(21226,"标题8888")

就是想获取到下面代码里面的ssid的值和title的值,然后组成一个数组。
<a href="abc.php?mod=vied&ssid=2925" title="标题gx111" target="_blank">
注意,第一个a标签里面<a href="abc.php?mod=vied&ssid=2925" target="_blank">这样子的,由于没有title标签,就忽略掉。
就是要完全符合<a href="abc.php?mod=vied&ssid=2925" title="标题gx111" target="_blank">这个格式的,才提取出来组合成一个数组,球代码、、
...全文
272 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
果酱很好吃 2017-08-04
  • 打赏
  • 举报
回复

$s = <<<'TEXT'
<div id="portal_block_68" class="block move-span"><div id="portal_block_68_content" class="dxb_bc"><div class="module cl ml">
<ul><li style="width: 105px;">
<a href="abc.php?mod=vied&ssid=2925" target="_blank"><img src="data/7e785274ce331dd4324.jpg" width="145" height="55" alt="标题111" /></a>
<p><a href="abc.php?mod=vied&ssid=2925" title="标题gx111" target="_blank">标题ad111adsaa</a></p>
</li></ul>
</div></div></div><div id="portal_block_69" class="block move-span"><div id="portal_block_69_content" class="dxb_bc"><div class="module cl xl xl1">
<ul><li><a href="abc.php?mod=vied&ssid=2949" title="标题ce2222" target="_blank">标题fss2222aassa</a></li><li><a href="abc.php?mod=vied&ssid=296" title="标题d3333" target="_blank">标题33xx</a></li><li><a href="abc.php?mod=vied&ssid=724" title="标题44444" target="_blank">标题444sfwe</a></li><li><a href="abc.php?mod=vied&ssid=2923" title="标题x5555" target="_blank">标题s555sdfsa</a></li><li><a href="abc.php?mod=vied&ssid=250" title="标题fs666" target="_blank">标题ersfs6666e</a></li></ul>
</div></div></div><div id="portal_block_71" class="block move-span"><div id="portal_block_71_content" class="dxb_bc"><div class="module cl xl xl1">
<ul><li><a href="abc.php?mod=vied&ssid=1216" title="标题777777" target="_blank">标题xxs777</a></li><li><a href="abc.php?mod=vied&ssid=21226" title="标题8888" target="_blank">标题88sdfsaf</a></li></ul>
</div></div></div>
TEXT;
 

preg_match_all('#<a\s*href="[^"]+?ssid=(\d+)"\s*title="([^"]+?)"[^>]+?>#',$s,$m);

$data = array();
foreach($m[1] as $k=>$v){
	$tmp = array();
	$data[] = array($v,$m[2][$k]);
}
echo "<pre>";
print_r($data);
echo "</pre>";
一起混吧 2017-08-03
  • 打赏
  • 举报
回复
preg_match_all('/href=".+?sid=(\d+)" title="(.+?)"/is', $str, $m);
foreach($m[1] as $k=>$v) $arr[] = array($v, $m[2][$k]);
print_r($arr);
hongmei85 2017-08-03
  • 打赏
  • 举报
回复

$str=<<<'text'
<div id="portal_block_68" class="block move-span"><div id="portal_block_68_content" class="dxb_bc"><div class="module cl ml">
<ul><li style="width: 105px;">
<a href=" " target="_blank">< img src="data/7e785274ce331dd4324.jpg" width="145" height="55" alt="标题111" /></a >
<p><a href="abc.php?mod=vied&ssid=2925" title="标题gx111" target="_blank">标题ad111adsaa</a ></p >
</li></ul>
</div></div></div><div id="portal_block_69" class="block move-span"><div id="portal_block_69_content" class="dxb_bc"><div class="module cl xl xl1">
<ul><li><a href="abc.php?mod=vied&ssid=2949" title="标题ce2222" target="_blank">标题fss2222aassa</a ></li><li><a href="abc.php?mod=vied&ssid=296" title="标题d3333" target="_blank">标题33xx</a ></li><li><a href="abc.php?mod=vied&ssid=724" title="标题44444" target="_blank">标题444sfwe</a ></li><li><a href="abc.php?mod=vied&ssid=2923" title="标题x5555" target="_blank">标题s555sdfsa</a ></li><li><a href="abc.php?mod=vied&ssid=250" title="标题fs666" target="_blank">标题ersfs6666e</a ></li></ul>
</div></div></div><div id="portal_block_71" class="block move-span"><div id="portal_block_71_content" class="dxb_bc"><div class="module cl xl xl1">
<ul><li><a href="abc.php?mod=vied&ssid=1216" title="标题777777" target="_blank">标题xxs777</a ></li><li><a href="abc.php?mod=vied&ssid=21226" title="标题8888" target="_blank">标题88sdfsaf</a ></li></ul>
</div></div></div>
text;

preg_match_all('/&ssid=(\d+)" title="([^"]+)"/',$str,$arr,PREG_SET_ORDER);
print_r($arr);
echo '<br/>';

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧