如何从PHP中的推文或字符串中捕获URL,使用parse_url但它不起作用

时间:2013-04-01 23:34:07

标签: php twitter oembed

好的,我想自动从我的应用程序自动更新的推文中动态解析URLS,我试图用PHP中的parse_url函数解析它们但是它没有返回我期望的...我基本上只喜欢从推文中抓住网址..

示例:John McCain最新的推文说:

Must-read Jackson Diehl: "What the #Iraq war taught me about #Syria" http://t.co/7YHYQY6bW0

使用parse_url从该推文中捕获URL后,它返回了

array(2) { ["path"]=> string(35) "Must-read Jackson Diehl: "What the " ["fragment"]=> string(55) "Iraq war taught me about #Syria" http://t.co/7YHYQY6bW0" }

我基本上只想在同一条推文中捕获http://t.co/7YHYQY6bW0或任何其他多个网址...我怎样才能在PHP中执行此操作?

1 个答案:

答案 0 :(得分:0)

parse_url用于分割URL本身的各个部分。你会想做preg_match_all之类的事情,因为推文中可能有多个URL。

<?php
    $string = 'Must-read Jackson Diehl: "What the #Iraq war taught me about #Syria" http://t.co/7YHYQY6bW0';

    preg_match_all('!http[s]?://[^ ]+!',$string,$urls);

    print_r($urls);

?>