0
$variable = '<img src="http://www.gravatar.com/avatar/66ce1f26a725b2e063d128457c20eda1?s=32&d=identicon&r=PG" height="32" width="32" alt=""/>';

如何获取此图像的 src?

像:

$src = 'http://www.gravatar.com/avatar/66ce1f26a725b2e063d128457c20eda1?s=32&d=identicon&r=PG';

谢谢。

4

3 回答 3

6

使用正则表达式

preg_match( '@src="([^"]+)"@' , $variable , $match );

并且 src 将在 $match 中,参见 print_r( $match )。但这仅适用于这种情况,如果您想要通用解决方案(例如“反对”等),请使用 html/DOM 解析器。

于 2010-08-18T09:17:06.090 回答
4

您可以为此使用 html 解析器。看到这个:http ://simplehtmldom.sourceforge.net/ (我希望这适用于节点,而不仅仅是整个页面)。

于 2010-08-18T09:17:00.707 回答
1

使用HTML DOM。下载simple_html_dom.php文件并将其包含在您的脚本中。

然后像这样获取图像 URL:

$html = str_get_html('<img src="http://www.gravatar.com/avatar/66ce1f26a725b2e063d128457c20eda1?s=32&d=identicon&r=PG" height="32" width="32" alt=""/>');

// Find all images
foreach($html->find('img') as $element)
       echo $element->src . '<br>';
于 2010-08-18T09:43:56.667 回答