2010-12-20 55 views
0

嗨 我已经创建了一个系统,可以在数据库中添加文章,用户可以将youtube或dailymotion或简单的flash嵌入文本区域。在主页中,我插入的幻灯片图像与新型饲料的幻灯片,我writen一个简单的条件,如果是检查,如果文本使用包含一个嵌入式视频:如何从文本中提取对象标记

if (ereg('<object>',$text){} 

我只是想插入视频(通常为对象元素)放在幻灯片中,以防文本中存在对象。换句话说,我想提取什么<object></object>之间

谢谢

+0

请记住,ereg'自PHP 5.3.0起弃用。 http://us2.php.net/manual/en/function.ereg.php – ncuesta 2010-12-20 21:38:51

+0

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/ 1732454#1732454 – 2010-12-20 21:49:10

+0

@ncuesta但是这是什么意思,如果它不推荐使用PHP 5.3.0 – SmootQ 2010-12-20 22:04:46

回答

3

我不知道关于幻灯一部分,或者如果你还试图修改的内容。但对于提取部分有两个选项。您可以使用一个头脑简单的正则表达式,如:

preg_match("#<object[^>]*>(.+?)</object>#ims", $text, $matches); 
print $matches[1]; 

或用相似的phpQuery或QueryPath可读的API更可靠的HTML解析器:

print qp($text)->find("object")->text(); 

后者也将让你更提取属性容易。

+0

谢谢,我会尝试这两种方法 – SmootQ 2010-12-20 21:51:30