Как поймать URL из твита или строки в PHP, использовал parse_url, но это не работает
Хорошо, я хотел бы динамически автоматически анализировать URL-адреса из твитов, которые автоматически обновляются в моем приложении, я пытался проанализировать их, используя функцию parse_url в PHP, но она не возвращает то, что я ожидаю. В основном, я хотел бы только перехватить URL-адрес из твита..
Пример: самый обновленный твит Джона Маккейна гласит:
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
или любые другие несколько URL-адресов внутри одного и того же твита... Как я могу сделать это в PHP?
1 ответ
Решение
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);
?>