我正试图在一段html中找到所有视频:
preg_match_all('[<iframe*]', $this->textile_text, $video_matches);
我正在使用PHP。
现在我只匹配iframe标签,我还需要查找嵌入和对象标签。这些是我能想到嵌入在html中的视频的唯一方式。
我怎么说“或”这样才有用呢?
preg_match_all('[<iframe*] OR [<embed*] OR [<object*]', $this->textile_text, $video_matches);
此外,如果有人能想到更好的REGEX模式来检测视频,那就太好了,因为我的相当基础。
这产生了这个输出:
preg_match_all("(iframe|embed|object)", $this->textile_text, $video_matches);
Array
(
[0] => Array
(
[0] => object
[1] => embed
[2] => embed
[3] => embed
[4] => embed
[5] => object
[6] => iframe
[7] => embed
[8] => iframe
[9] => iframe
[10] => embed
[11] => iframe
[12] => iframe
[13] => embed
[14] => iframe
[15] => iframe
[16] => embed
[17] => iframe
[18] => iframe
[19] => embed
[20] => iframe
[21] => iframe
[22] => embed
[23] => iframe
[24] => iframe
[25] => embed
[26] => iframe
)
)
应该是:
Array
(
[0] => Array
(
[0] => <iframe
[1] => <iframe
[2] => <iframe
[3] => <iframe
[4] => <iframe
[5] => <iframe
[6] => <iframe
[7] => <embed
)
)
答案 0 :(得分:1)
我认为这可以满足您的需求。
(iframe|embed|object)
根据文档,这应该匹配这三个单词中的一个。但是,我没有访问PHP特定版本的reg-ex来实现这一目标。