IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Convertir du code HTML en texte brut


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Points : 287
    Points
    287
    Par défaut Convertir du code HTML en texte brut
    Bonjour,

    Avec ce script, je récupère la source d'une page web :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $file=fopen($URL,"r" );
    	if(!$file)
    	{
    		echo "<p>Impossible d\"ouvrir le fichier</p>.\n";
    		exit;
    	}
    	while(!feof($file))
    	{
    		$line .= fgets($file,1024);
    	}
    je lui applique différent traitement afin de n'avoir que le texte brut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // nettoyage du code
    	// supprimer les retour a la ligne
    	$line = str_replace("\n","",$line);
    	// supprimer les retour chariot
    	$line = str_replace("\r","",$line);
    	// supprimer les tabulations
    	$line = str_replace("\t","",$line);
    	// supprimer les double espaces
    	$line = str_replace("  ","",$line);
    	// retirer les balise HTML
    	$line = strip_tags($line);
    après traitement je récupère du texte comme ceci :

    adresse : mairie, 3,&nbsp;rue de Verneuil, 27130&nbsp;Les&nbsp;Barils<br>rue : rue de Verneuil,<br>code postal : 27130<br>ville : Les<br><br>adresse : maisons des associations, avenue Lénine, 76700&nbsp;Gonfreville-l’Orcher<br>
    Malgré cela j'ai des caractères bizarres dans le texte brut comme des "&nbsp;" pour des espaces écrit en html ou encore des "’" pour des apostrophes.

    Comment éviter ce genre de chose ? car après j'utilise des regex et ca fait des bugs a cause de ce genre de chose.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux utiliser html_entity_decode() pour les entités HTML comme &nbsp;

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Points : 287
    Points
    287
    Par défaut
    je l'utilisais déjà mais après je les remettais, d'où le gros problème !

    j'ai repris mon code et j'ai maintenant quelque chose de correcte

    voici le code permettant de passer d'une page HTML en du texte brut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // nettoyage du code
    $line = 'code HTML';
    $line = strip_tags($line);
    $line = html_entity_decode($line);
    $line = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $line);
    $line = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $line);
    $line = preg_replace('(\n|\r|\t)',' ',$line);
    $line = preg_replace('/\s\s+/', ' ', $line); 
    return $line;
    merci pour ton indication !

    ++

    Arnaud

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Image]Convertir du code HTML en image
    Par lalouve dans le forum Bibliothèques et frameworks
    Réponses: 14
    Dernier message: 09/05/2012, 14h47
  2. Convertir les codes HTML en équivalent pour JavaScript
    Par bubulemaster dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/08/2009, 11h20
  3. Convertir du code html en image
    Par mirc00 dans le forum Langage
    Réponses: 6
    Dernier message: 17/10/2007, 10h46
  4. HTML et Texte brut
    Par Truuuc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 04/09/2007, 20h06
  5. [POO] newsletter html ou text brut
    Par towogy dans le forum Langage
    Réponses: 3
    Dernier message: 23/08/2006, 10h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo