获取PHP列表的src

时间:2010-07-07 20:45:22

标签: php string

我知道这听起来有点奇怪,但我有一个字符串:

<img src="image1.gif" width="20" height="20"><img src="image3.gif" width="20" height="20"><img src="image2.gif" width="20" height="20">

有没有一种简单的方法可以将其转换为

数组

阵列( 'image1.gif', 'image3.gif', 'image2.gif');

感谢。

3 个答案:

答案 0 :(得分:4)

<?php
$xml = <<<XML
<img src="image1.gif" width="20" height="20">
<img src="image3.gif" width="20" height="20">
<img src="image2.gif" width="20" height="20">
XML;

libxml_use_internal_errors(true);
$d = new DOMDocument();
$d->loadHTML($xml);
$res = array();
foreach ($d->getElementsByTagName("img") as $e) {
    $res[] = $e->getAttribute("src");
}
print_r($res);

给出

Array
(
    [0] => image1.gif
    [1] => image3.gif
    [2] => image2.gif
)

答案 1 :(得分:0)

使用正则表达式将每个项目提取为数组或字符串。

听起来像是我当天回来的作业问题,这应该让你接近......

src\s*=\s*([\'"])?([^\'" >]+)(\1)?

答案 2 :(得分:0)

function get_image_sources( $s )
{
  preg_match_all( '/src="([^"]+)"/i' , $s , $sources );
  if(!(count($sources) == 2) || !count($sources[1]) ) return array();
  return $sources[1];
}

:)