Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

J'essaye de récupérer le titre d'une page avec Curl et Regex, le soucis c'est que ça ne marche pas avec les pages ayant des titres contenant des espaces.

<?php
    $lien = $_GET['url'];

        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $lien);

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        $output = curl_exec($ch);

        curl_close($ch);  

    preg_match("#<title>([\w\s]+)</title>#",$output,$titre);

    echo $titre;

?>

Ce que je veux

J'aimerais pouvoir récupérer le titre de toutes les pages possible contenant n'importe quelle caractère.

Ce que j'obtiens

Sur certain site, ça marche(le titre s'affiche), sur d'autre(contenant des espaces) ça ne marche pas, ça n'affiche rien.

Merci d'avance :)

3 réponses


Pierrot01
Réponse acceptée

Salut;
vas voir là bas si j'y suis :D :D

@pluche.
Pierre.

quentin arduino
Auteur
Réponse acceptée

Finalement, j'ai réussi, il suffisait d'ajouter

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13');

Pour se faire passer pour un vrai visiteur. Merci beaucoup :)

Merci beaucoup, ça marche beaucoup mieux :D, mais il y a encore certain site, où ça ne marche pas: curl_exec ne retourne rien. Ou d'autre un code du genre "303 moved".