Depuis quelque temps, je cherche un code pour extraire les URL d'une chaîne en utilisant PHP. Essentiellement, j'essaie d'obtenir une URL raccourcie d'un message, puis de faire une requête HEAD pour trouver le lien réel.Obtenir une URL à partir d'une chaîne
Quelqu'un at-il du code qui renvoie des URL à partir de chaînes?
Merci d'avance.
Modifier pour Ghost Dog:
Voici un échantillon de ce que je suis analyse:
$test = "I am testing this application for http://test.com YAY!";
Et voici la réponse que je suis arrivé que l'a résolu:
$regex = '$\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]$i';
preg_match_all($regex, $string, $result, PREG_PATTERN_ORDER);
$A = $result[0];
foreach($A as $B)
{
$URL = GetRealURL($B);
echo "$URL<BR>";
}
function GetRealURL($url)
{
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
CURLOPT_USERAGENT => "spider",
CURLOPT_AUTOREFERER => true,
CURLOPT_CONNECTTIMEOUT => 120,
CURLOPT_TIMEOUT => 120,
CURLOPT_MAXREDIRS => 10,
);
$ch = curl_init($url);
curl_setopt_array($ch, $options);
$content = curl_exec($ch);
$err = curl_errno($ch);
$errmsg = curl_error($ch);
$header = curl_getinfo($ch);
curl_close($ch);
return $header['url'];
}
Voir la réponse pour les détails.
que diriez-vous montrer un exemple de ce que vous un re parsing – ghostdog74