[HTML/PHP] Recherche un mot dans une Textarea

Résolu/Fermé
-Tyrael- Messages postés 101 Date d'inscription jeudi 10 septembre 2009 Statut Membre Dernière intervention 14 août 2015 - 3 juin 2010 à 20:40
-Tyrael- Messages postés 101 Date d'inscription jeudi 10 septembre 2009 Statut Membre Dernière intervention 14 août 2015 - 4 juin 2010 à 18:42
Bonjour à tous et à toutes,

Je souhaite créer une textarea dans laquelle on va coller un texte.
Jusque là facile :P

Ensuite j'aimerai lors de l'envoi (où autrement) lancer un script ou un je ne sais quoi qui va parcourir la textarea pour repérer certain mot que je voudrai supprimer par la suite.

Je me suis un peu perdu dans tous ce que j'ai pu lire avec mon ami Google :(

Exemple je veux supprimer le mot "tata" :
------------------------------------
| toto tata tutu |
| titi tutu tata toto |
| tata | <--- Ma textarea (lol)
| turlututu chapeau pointu |
------------------------------------

On clique sur envoyer et hop on récupère (via $_POST['nom_textarea'] logiquement) sur une nouvelle page :

------------------------------------
| toto tutu |
| titi tutu toto |
| | <--- Ma nouvelle textarea
| turlututu chapeau pointu |
------------------------------------

J'espère que vous pourrez m'aider :)

A voir également:

6 réponses

louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
3 juin 2010 à 21:36
Voila ce que je te propose:

<?

$textarea=isset($_POST['nomtextarea'])?$_POST['nomtextarea']:"";

$textarea=str_replace("tata","",$textarea); // =>Filtre



?>

<html>
<body>
<form name="form1" method="post">
<textarea name="nomtextarea"></textarea>
<input type=submit value="envoyer">
</form>
</body>
</html>

J'ai fait au plus simple pour que tu sois pas trop perdu...
1
-Tyrael- Messages postés 101 Date d'inscription jeudi 10 septembre 2009 Statut Membre Dernière intervention 14 août 2015 10
Modifié par -Tyrael- le 3/06/2010 à 20:43
La mise en page à été dégommé mais bon ^^'
0
-Tyrael- Messages postés 101 Date d'inscription jeudi 10 septembre 2009 Statut Membre Dernière intervention 14 août 2015 10
Modifié par -Tyrael- le 3/06/2010 à 23:02
Alors là merci beaucoup.

Avec quelque modif ça marche impec !
un php après <? et un echo devant $textarea=str_replace...

J'aimerai juste une précision savoir si j'ai bien compris.

$textarea=isset($_POST['nomtextarea'])?$_POST['nomtextarea']:"";
Ça veut dire $textarea (le $ fait comme un pointeur en C ?) est égal à $_POST['nomtextarea'] si il y à quelque chose dedans sinon à rien ("") ? C'est bien ça ?

Si je veux mettre des métacaractère je fais comment dans le filtre ?
Exemple une chaine qui comment par "ta" et fini par "ta" j'ai mis "ta*ta" mais marche pas bien (je continu à chercher).

Une dernière chose (hihi suis chiant je sais) si par exemple j'ai une ligne où il y à que "tata" comment faire pour supprimer "tata" et la ligne vide qui va être créer sachant que si il y à des lignes vides de base (dans la 1ère textarea) il faudrait les laisser dans la 2ème.
Évidement c'est plus un bonus perso qu'une nécessité lol.

Merci d'avance.
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
3 juin 2010 à 23:00
Déjà, ok pr le "php",,

Par contre,
$textarea=str_replace("tata","",$textarea); // =>Filtre
echo $textarea;
L'echo va ensuite, enfin je préfère,,,, plus propre...

Ensuite oui, tu as parfaitement compris la ligne avec isset.

Pr le reste:
Je comprends pas tout...
comment faire pr supprimer "tata", Tu utilise le filtre...

si le filtre renvoie vide:

if ($textarea<>""){ // Indique ce que tu veux....
}
0
-Tyrael- Messages postés 101 Date d'inscription jeudi 10 septembre 2009 Statut Membre Dernière intervention 14 août 2015 10
3 juin 2010 à 23:21
Oui effectivement le echo va ensuite je viens de corriger plus propre tout à fais d'accord. Ça permet en plus de rajouter d'autres filtres.

Pour le reste je m'explique :

textarea 1 :
-------------------
titi
tata
toto

tutu
-------------------

Si j'aplique le filtre j'ai :

-------------------
titi

toto

tutu
-------------------

Mais j'aimerai avoir (si possible) :

-------------------
titi (on supprime la ligne entre titi et toto là où été écrit tata)
toto
(mais on garde cette ligne là vide car elle l'été dans la textarea 1)
tutu
-------------------

Tjs à la recherche pour les méta-caractères.

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
Modifié par louloute300 le 4/06/2010 à 08:31
ok, j'avais pas compris, la ca va mieux:

voici alors le filtre:

$textarea=br2nl($textarea); // Rajouter // devant cette ligne si la fonction n'est pas utile
$textarea=str_replace("tata <br>","",$textarea); // =>Filtre
$textarea=str_replace("tata ","",$textarea); // =>Filtre
$textarea=str_replace("tata","",$textarea); // =>Filtre

function br2nl($string){
$retour=eregi_replace('<br[[:space:]]*/?'.'[[:space:]]*>',"",$string);
return $retour;
}


En utilisant ces 3 filtres, ca devrait arranger tes pb...
Je ne pense pas que la fonction soit obligatoire... Mais dans le doute, je te l'ai donnée...
0
-Tyrael- Messages postés 101 Date d'inscription jeudi 10 septembre 2009 Statut Membre Dernière intervention 14 août 2015 10
4 juin 2010 à 18:42
Bonjour,

en fait en faisant plusieurs tests sur ce que je veux faire je me suis rendu compte que ce n'était pas utile ^^'

Je suis passé à preg_replace pour utiliser les méta-caractères car ce que je veux supprimer, entre autre, se situe entre parenthèses et ce n'est jamais la même chose. Donc j'ai mis
$textarea = preg_replace ('#\(.*\)#i',"",$textarea);


Merci encore pour ton aide !
0