从PHP中的随机文本中提取YouTube URL
我试图从随机文本中提取YouTube链接。e、 g 这是一些随机文本,url是从PHP中的随机文本中提取YouTube URL,php,url,youtube,preg-match,Php,Url,Youtube,Preg Match,我试图从随机文本中提取YouTube链接。e、 g 这是一些随机文本,url是http://www.youtube.com/watch?v=-d3RYW0YoEk&feature=channel我想从PHP文本中提取这个URL。我好像想不出来。找到了另一种语言的解决方案,但不知道如何转换。 谢谢您的帮助。您可以尝试使用Regex 您可以使用抓取所有此类URL,如: if(preg_match_all('~(http://www\.youtube\.com/watch\?v=[%&=#\w
http://www.youtube.com/watch?v=-d3RYW0YoEk&feature=channel
我想从PHP文本中提取这个URL。我好像想不出来。找到了另一种语言的解决方案,但不知道如何转换。
谢谢您的帮助。您可以尝试使用Regex 您可以使用抓取所有此类URL,如:
if(preg_match_all('~(http://www\.youtube\.com/watch\?v=[%&=#\w-]*)~',$input,$m)){
// matches found in $m
}
使用
preg\u match
模式应该类似于:
/(http\:\/\/www\.youtube\.com\/watch\?v=\w{11})/
我故意把URL放在文本中。我的整个段落/解释都是随机文本,文本中的某个地方有URL。我没有分离URL,因为我想从一些文本中检索URL,这就是我的示例。只是澄清一下,URL周围没有[X]HTML标记,它们只是集中在一起,混合在普通的旧(非多字节)中文本?也许您应该将
www.
部分设置为可选。这也将匹配http://www.youtube.example.com/watch?v=…
甚至http://www.youtube.com 是YouTube的URL;但是http://example.com/watch?v=…不是。
。这非常有效。非常感谢。我一直在拔头发。:)@kitsched我认为ti不会太重要,因为如果你只输入YouTube.com,YouTube会引导你访问www.YouTube.com,因此当有人复制和粘贴时,URL没有www的可能性很小。更复杂的是,还有一种情况:当用户从推特复制URL时,它看起来像youtu.be/xxx:)@kitsched,是的,我知道。哦,好吧。我可能下次再解决这个问题,除非有人已经有了解决办法D