pouzy Ne signe pas d'autographes.. | Bonjour à tous ! J'ai un petit souci : je teste un script de traduction ( ne vous inquiétez pas, pas anglais/français des trucs comme ça , hin, plus soft avec quelques mots )
Donc j'ai mes mots dans ma base de données, a savoir : champ mot et champ mottraduit
Donc dans ma BDD j'ai quelques mots et les mottraduits correspondants. Bref, je voudrais que lorsqu'un visiteur tape un texte dans une textarea, les mots tapés, s'ils sont trouvés dans la BDD, soient remplacés par les "mottraduits"
J'ai à peu près réussi avec ce script :
Code :
- if ($_POST['traduire'] && $_POST['MOT'])
- {
- $requete = "SELECT mot, mottraduit FROM mabase ORDER BY -mot";
- $result = mysql_query($requete, $idConnexion);
- if (!$result)
- {
- die ("<div align=\"center\">Erreur lors de l'envoi. Veuillez réitérer.</div>" );
- }
- else
- {
- $traduc = $_POST['MOT'];
- $traduc = strtr($traduc, ' ',' '.' ');
-
- while ($enreg = mysql_fetch_array($result, MYSQL_BOTH))
- {
- $mots[' '.$enreg['mot'].' '] = ' '.$enreg['mottraduit'].' ';
- }
- $traduc = strtr(' '.$traduc.' ', $mots);
- $traduc = stripSlashes($traduc);
- $traduc = substr($traduc, 1, strlen($traduc)-1);
- }
- }
|
Avec le formulaire qui marche bien entendu..
Voilà, donc comme vous pouvez le remarquer, y a un honteux bidouillage avec les espaces, notamment :
Code :
- $traduc = strtr($traduc, ' ',' '.' ');
|
Qui n'a pas l'air de marcher .. Pour l'instant, ce script traduit un mot sur deux. Quelqu'un peut-il me guider ? Merci ! ---------------
Hello hello super jello
|