Обнаружение - название URL и URL - PullRequest
3 голосов
/ 01 октября 2011

Как определить, есть ли в тексте и заголовке какой-либо URL (если есть)?

Если он есть, он должен изменить URL:

от: http://stackoverflow.com

в

<detected:url="http://stackoverflow.com"/>

Мне также нужно извлечь заголовки из внешних ссылок, как в этом примере:

<title:http://stackoverflow.com/="the actual title from the stackoverflow"/>

1 Ответ

1 голос
/ 01 октября 2011

Это для одного URL-адреса:

$url = "http://www.stackoverflow.com/";

$check_result = get_detected_and_title( $url );


function get_detected_and_title( $url )
{
    $detected = '<detected:url="'.$url.'"/>';
    $title = '';
    $tmp_html = file_get_contents( $url );
    preg_match('/<title>(.*)<\/title>/', $tmp_html, $res);
    $title = '<title:'.$url.'="'.$res[1].'"/>';

    return array( $detected, $title );
}

На самом деле, после просмотра страниц SO, я думаю, что это ближе к тому, что вы ищете. Хотя требуется некоторая корректировка: Как имитировать поведение Auto-Link StackOverflow

...