使用explode函数或类似函数提取src属性的值

时间:2016-03-06 09:27:57

标签: php explode meta schema.org omeka

我有这个字符串:

<img src="http://localhost:8080/omeka3/files/square_thumbnails/a1641b89b518599b049efa6017f92040.jpg" alt="altText" title="Title">

我想提取src属性的值,以创建一个这样的元元素:

<meta itemprop='thumbnailUrl' content='http://localhost:8080/omeka3/files/square_thumbnails/a1641b89b518599b049efa6017f92040.jpg' />

我尝试了爆炸功能:

$img_tag = item_image('square_thumbnail');
$thumbnailUrl = explode("=",$img_tag);
echo "<meta itemprop='thumbnailUrl' content='".$thumbnailUrl[1]."'/>";

但结果是:

<meta itemprop='thumbnailUrl' content='"http://localhost:8080/omeka3/files/square_thumbnails/a1641b89b518599b049efa6017f92040.jpg" alt'/>

有没有办法用.jpg表示字符串的限制,使用explode()或其他函数?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用DOMDocument类(在PHP 5及更高版本中提供)来解析<img> HTML标记的src属性:

    $input = '<img src="http://localhost:8080/omeka3/files/square_thumbnails/a1641b89b518599b049efa6017f92040.jpg" alt="altText" title="Title">';

    $dom = new DOMDocument();
    $dom->loadHTML($input);
    $nodes = $dom->getElementsByTagName('img');

    if ($nodes->length == 1) {
        echo $nodes->item(0)->getAttribute('src');
    }