当前位置: 代码迷 >> PHP >> 怎么读取<img>里的title
  详细解决方案

怎么读取<img>里的title

热度:244   发布时间:2016-04-28 18:14:30.0
如何读取<img>里的title
在下面的函数中,读取了src,请问如何再读取<img>里的title
function get_pic_list($content='')
{
$pattern="/<img.*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/"; 
preg_match_all($pattern,$content,$match); 

$arr_pic = array();
$i = 0;
foreach($match[1] as $imgsrc)
{
$arr_pic[$i]['src'] = $imgsrc;
$i++;
}

return $arr_pic;
}
------解决思路----------------------
如果不确定是否每张图都有title标记,需要二次正则获取。
修改如下:

function get_pic_list($content='')
{
    $pattern="/<img.*?src=[\'
------解决思路----------------------
\"](.*?(?:[\.gif
------解决思路----------------------
\.jpg]))[\'
------解决思路----------------------
\"].*?>/"; 
    preg_match_all($pattern,$content,$match); 

    $arr_pic = array();
    $i = 0;
    for($i=0,$len=count($match[1]); $i<$len; $i++){
        $arr_pic[$i]['src'] = $match[1][$i];
        preg_match('/title=[\'
------解决思路----------------------
\"](.*?)[\'
------解决思路----------------------
\"]/', $match[0][$i], $match1);
        $arr_pic[$i]['title'] = isset($match1[1])? $match1[1] : '';
    }
    return $arr_pic;
}

$content =<<<TXT
<a href="#" class="drop_toggle btn_1 " rel='nofollow'>
<span>
  <img src="/assets/ico_set.gif" alt="" title="title1" />管理菜单<img src="/assets/arrow_down.gif" alt="" title="title2" />
  <img src="/assets/arrow_down123.gif" alt="" />
</span>
</a>
TXT;

$result = get_pic_list($content);

print_r($result);




Array
(
    [0] => Array
        (
            [src] => /assets/ico_set.gif
            [title] => title1
        )

    [1] => Array
        (
            [src] => /assets/arrow_down.gif
            [title] => title2
        )

    [2] => Array
        (
            [src] => /assets/arrow_down123.gif
            [title] => 
        )

)
  相关解决方案