如何在双引号中提取值?

时间:2014-05-13 18:16:44

标签: php split

我需要提取定义为php变量的html标记的属性值:

[video src="http://localhost/video.mp4" poster="http://localhost/thumb.jpg" preload="none"][/video]

srcposter的值应该分开并转换为数组

1 个答案:

答案 0 :(得分:0)

如果你的文字是php变量,你可以使用preg_match

<?php
$text = '[video src="http://localhost/video.mp4" poster="http://localhost/thumb.jpg" preload="none"][/video]';
preg_match('/src=\"([^\"]+)\"/si', $text, $src);
preg_match('/poster=\"([^\"]+)\"/si', $text, $poster);
$array['src'] = $src[1];
$array['poster'] = $poster[1];
print_r($array);
?>

您也可以使用simplehtmldom

您可以使用html解析器。见这一个:http://simplehtmldom.sourceforge.net/

$html = str_get_html('<video src="http://localhost/video.mp4" poster="http://localhost/thumb.jpg" preload="none"></video>');
foreach($html->find('video') as $element)
{
    $array['src'] = $element->src; 
    $array['poster'] = $element->poster; 
}