Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1195 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Nettoyage de texte

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Nettoyage de texte

n°1674683
mims1664
3 / vert
Posté le 21-01-2008 à 19:42:03  profilanswer
 

bonjour,
 
Je souhaiterais faire un peu de nettoyage de texte que je récupere d'une base de donnée phpbb3 :
j'imagine que je trouverais mon bonheur avec la fonction preg_replace mais je ne comprends pas bien son fonctionnement...
 
je voudrais supprimer ce genre de chaine de caractère :
 

Code :
  1. bla bla bla bla
  2. <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
  3. blu blu blu blu
  4. <!-- m --><a class="postlink" href="http://www.google.com/">http://www.google.com</a><!-- m -->
  5. bli bli bli bli
  6. <!-- s:wink: --><img src="{SMILIES_PATH}/icon_wink.gif" alt=":wink:" title="Wink" /><!-- s:wink: -->
  7. blo blo blo


 
résultat souhaité  :
 

Code :
  1. bla bla bla bla
  2. blu blu blu blu
  3. bli bli bli bli
  4. blo blo blo


 
 
merci !


Message édité par mims1664 le 21-01-2008 à 19:43:19

---------------
la vie à le goût qu'on lui donne !! Vive le photo numérique et le tirage photo
mood
Publicité
Posté le 21-01-2008 à 19:42:03  profilanswer
 

n°1674743
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 21-01-2008 à 23:22:48  profilanswer
 

Hello,
si une ligne sur 2 est "pareille", il suffit de n'en lire qu'une sur 2 ...
Concrètement récupérer dans un tableau le code du premier bloc :

Code :
  1. $array = explode("\n",$code1); // je suppose que code1 est le premier code mis
  2. foreach($array as $line)
  3. {
  4.     if (!eregi("<!(.+)",$line))
  5.     {
  6.         echo $line;
  7.     }
  8. }


Je ne suis peut-être pas encore bien en forme à cette heure, mais le principe est simple : on "éclate" ligne par ligne ce code et pour chaque ligne, si ça ne ressemble pas à <!{quelque chose} alors on l'affiche.
 
ça permet d'avoir un tableau dont on récupère une ligne sur 2, 3 ... X mais pas de manière systématique : on analyse ligne par ligne.


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1674780
mims1664
3 / vert
Posté le 22-01-2008 à 08:55:03  profilanswer
 

Heu mon exemple est sans doute mauvais, ce n'est pas une ligne sur 2, ces insertions (car il s'agit d'insertion d'image, smileys, lien , ... ) peuvent apparraitre n'importe ou ...  
 

Code :
  1. bla bla bla bla <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D --> blu blu blu blu


 
par exemple.

n°1674783
masklinn
í dag viðrar vel til loftárása
Posté le 22-01-2008 à 09:06:12  profilanswer
 

Parsing via DOM, puis extraction juste du texte? (par contre je saurais pas te dire quelle méthode c'est, faut demander à florentg)

Message cité 1 fois
Message édité par masklinn le 22-01-2008 à 09:06:32

---------------
I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh‬
n°1674787
anapajari
s/travail/glanding on hfr/gs;
Posté le 22-01-2008 à 09:12:26  profilanswer
 

Code :
  1. preg_replace('/<.*?>/', '',  $tachaine);

Message cité 1 fois
Message édité par anapajari le 22-01-2008 à 09:12:38
n°1674790
FlorentG
Unité de Masse
Posté le 22-01-2008 à 09:18:57  profilanswer
 

masklinn a écrit :

Parsing via DOM, puis extraction juste du texte? (par contre je saurais pas te dire quelle méthode c'est, faut demander à florentg)


Avec la propriété textContent d'un DOMNode


---------------
last.fmflickr
n°1674798
masklinn
í dag viðrar vel til loftárása
Posté le 22-01-2008 à 09:35:52  profilanswer
 

anapajari a écrit :

Code :
  1. preg_replace('/<.*?>/', '',  $tachaine);



Ca suffit avec vos regexp pourries alors qu'il existe des outils qui font ça très bien, bon sang [:mlc]

FlorentG a écrit :


Avec la propriété textContent d'un DOMNode


Walla, merci :jap:

Message cité 1 fois
Message édité par masklinn le 22-01-2008 à 09:36:05

---------------
I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh‬
n°1674831
anapajari
s/travail/glanding on hfr/gs;
Posté le 22-01-2008 à 10:29:16  profilanswer
 

masklinn a écrit :


Ca suffit avec vos regexp pourries alors qu'il existe des outils qui font ça très bien, bon sang [:mlc]


Je vois pas l'interêt de parser le truc puis extraire le contenu alors qu'il tient juste à virer toutes les balises  
D'autant que je reste plus que scéptique sur la validité du "xml" contenu dans une base PhpBB et que s'il a un morceau de balise qui traine tout son truc va planter. [:spamafote]
Mais c'est sur qu'on gagne en nerditude à utiliser le DOM.
 
Et ma regex pourrie tu sais ce que tu peux en faire [:dawak]
 

n°1674832
masklinn
í dag viðrar vel til loftárása
Posté le 22-01-2008 à 10:30:44  profilanswer
 

anapajari a écrit :

Et ma regex pourrie tu sais ce que tu peux en faire [:dawak]


Ouais, j'peux te la coller dans le fondement [:dawak]


---------------
I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh‬
n°1674930
leflos5
On est ou on est pas :)
Posté le 22-01-2008 à 11:42:48  profilanswer
 

masklinn a écrit :


Ouais, j'peux te la coller dans le fondement [:dawak]


 :non:  
 
Parse error: syntax error, unexpected T_ASS in index.php on line 2
 
:o

mood
Publicité
Posté le 22-01-2008 à 11:42:48  profilanswer
 

n°1675196
omega2
Posté le 22-01-2008 à 16:46:33  profilanswer
 

Une regexp pour virer des tags? :o Du dom pour enlever les balises? :o
Et pourquoi pas un chargement dans un navigateur suivit d'un copier collé du texte affiché tant que vous y êtes?
 
Si c'était du C#, je me dirais : ils ont pas du faire une fonction exprès pour ça, mais c'est du php, alors vive les 30 000 (nombre exagéré. :p ) fonctions dispos de base : http://fr3.php.net/manual/fr/function.strip-tags.php

n°1675335
mims1664
3 / vert
Posté le 22-01-2008 à 20:28:31  profilanswer
 

le problème est que se ne sont pas des codes HTML !! c'est des balises spécifiques a phpbb3 !!
 
en ce qui concerne preg_replace ca ne fonctionne pas ....


---------------
la vie à le goût qu'on lui donne !! Vive le photo numérique et le tirage photo
n°1675338
masklinn
í dag viðrar vel til loftárása
Posté le 22-01-2008 à 20:38:12  profilanswer
 

mims1664 a écrit :

le problème est que se ne sont pas des codes HTML !! c'est des balises spécifiques a phpbb3 !!

 

en ce qui concerne preg_replace ca ne fonctionne pas ....


Heuuu

<!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->

c'est du HTML à l'ancienne hein [:pingouino]

 

Les trucs horribles là au milieu sont ptet utilisés par PHPBB, mais apparement ils ont été suffisament intelligents pour encoder leurs infos dans du HTML standard [:spamafote]


Message édité par masklinn le 22-01-2008 à 20:38:59

---------------
I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh‬
n°1675362
mims1664
3 / vert
Posté le 22-01-2008 à 21:15:52  profilanswer
 

ouais c'est vrai que ca ressemble bien a de l'html mais cette fonction ne fonctionne pas ....


---------------
la vie à le goût qu'on lui donne !! Vive le photo numérique et le tirage photo
n°1675494
anapajari
s/travail/glanding on hfr/gs;
Posté le 23-01-2008 à 10:06:19  profilanswer
 

mims1664 a écrit :

preg_replace ca ne fonctionne pas ....


mims1664 a écrit :

cette fonction ne fonctionne pas ....


problème d'ICC...
(j'ai testé les 3 méthodes qui t'ont été proposées, les 3 "fonctionnent" )
 

n°1675514
omega2
Posté le 23-01-2008 à 10:41:30  profilanswer
 

C'est quoi la signification d' "ICC"?
En cherchant sur google, je tombe sur les gestion de couleur, les "Rencontres Innovation Compétitivité et Connaissance", les "indice du coût de la construction" et autres "Impact Centre Chrétien" (vraiment aucun rapport avec l'informatique) .
Le plus proche au niveau signification que j'ai trouvé à l'air d'être : "ICC : Intermédiaire des Chercheurs & Curieux".

n°1675523
ccp6128
Syntax error
Posté le 23-01-2008 à 10:53:42  profilanswer
 

Interface Chaise Clavier

n°1675531
omega2
Posté le 23-01-2008 à 11:07:03  profilanswer
 

J'aurais du y penser. :whistle:

n°1675537
mims1664
3 / vert
Posté le 23-01-2008 à 11:15:16  profilanswer
 

LOL c'est sympa ca !!!
je vais persévérer ! mais la je ne peux pas de suite, je vous tiens au courant !


---------------
la vie à le goût qu'on lui donne !! Vive le photo numérique et le tirage photo
n°1676059
mims1664
3 / vert
Posté le 24-01-2008 à 10:27:15  profilanswer
 

c'est bon j'avais zappé le stripslashes !!! merchi tout plein !


---------------
la vie à le goût qu'on lui donne !! Vive le photo numérique et le tirage photo

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Nettoyage de texte

 

Sujets relatifs
div, calque et justifie textepixeliser un texte sous Flash ?
[PHP] ftp_get taille limite de fichier à télécharger[PHP] aide pour un tableau
dév. une application d'animation de texte: quel langage utiliser?PHP/MYSQL : Connexion chez l'hebergeur STRATO
regex et nettoyage de code htmlModifier un nombre à virgule dans un texte (dans une textbox)
Problème PHP includehyperlien dynamique dans un champ texte
Plus de sujets relatifs à : [PHP] Nettoyage de texte


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR