sloshy Posté 12 Août 2006 Posté 12 Août 2006 Bonjour à tous et toutes, Voilà j'ai un bug dans ma fonction de parsage de texte. Voici ma fonction function parseur($texte){ $article = nl2br(stripslashes($texte)); $article = preg_replace('!\[b\](.+)\[/b\]!isU', '<strong>$1</strong>', $article); $article = preg_replace('!\[i\](.+)\[/i\]!isU', '<em>$1</em>', $article); $article = preg_replace('!\[u\](.+)\[/u\]!isU', '<u>$1</u>', $article); $article = preg_replace('!\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]!isU', '<span style="color:$1">$2</span>', $article); $article = preg_replace('!\[img\](.+)\[/img\]!i', '<img src="$1" alt="Image_utilisateur" />', $article); $article = preg_replace('!\[mail\](.+)\[/mail\]!i', '<a href="mailto:$1">$1</a>', $article); $article = preg_replace('!\[url="(.+)"](.+)\[/url\]!i', '<a href="$1">$2</a>', $article); $article = preg_replace('!([^"])(http://[a-z0-9._/-]+)([^"])!i', '$1<a href="$2">$2</a>$3', $article); $article = preg_replace(':8','<img src="/scripts/membres/smileys/cool.gif" alt="cool" />', $article); $article = preg_replace(':)','<img src="/scripts/membres/smileys/clin_oeil.gif" alt="clin_oeil" />', $article); $article = preg_replace(':?','<img src="/scripts/membres/smileys/fou.gif" alt="fou" />', $article); $article = preg_replace(':devil','<img src="/scripts/membres/smileys/devil.gif" alt="devil" />', $article); $article = preg_replace(':oups','<img src="/scripts/membres/smileys/oups.jpg" alt="oups" />', $article); $article = preg_replace(':cache','<img src="/scripts/membres/smileys/cache.gif" alt="cache" />', $article); $article = preg_replace(':rouge','<img src="/scripts/membres/smileys/rougi.gif" alt="rougi" />', $article); $article = preg_replace(':unsure','<img src="/scripts/membres/smileys/unsure.gif" alt="unsure" />', $article); $article = preg_replace(':wOOt','<img src="/scripts/membres/smileys/wOOt.gif" alt="woot" />', $article); return $article;} C'est pas beau hein non J'appel cette fonction dans ce script: <?php require_once ("/homepages/46/d141731084/htdocs/journal/scripts/config.inc.php");?><?phpentete("Cyberlianpost .:News de la Une:.");connexion(); echo '<h2 id="titreContenu">A la Une</h2>'; //Récupertion de la news selectionnée. $id = $_GET['id']; $retour = mysql_query("SELECT * FROM actualite WHERE id=$id"); while ($donnees = mysql_fetch_array($retour)) { //Parsage de l'entrée parseur($donnees['article']); $auteur = $donnees['auteur']; //Ecriture de la news echo "<p><strong>".$donnees['titre']. "</strong></p> <p>".$article."</p> <p> <strong>Article écrit par " .$auteur. "</strong><i> le " .date('d/m/Y', $donnees['timestamp']). "</i></p>"; }mysql_close();piedPage();?> Seulement voilà, le script comme ça n'affiche pas l'article (mais bien le reste). En plus si je commente la ligne "parseur($donnees['article']); et que j'ajoute une ligne du style $article = $donnees['article']; plus bas dans l'écriture de la news, l'article s'affichera. J'en conclu donc que ma faute est dans ma fonction, mais j'ai beau tout retourné je ne trouve pas. Il y aurait il une ame charitable pour m'aider? PS: je sais mes regex sont mal foutue, mais j'ai un mal de chien à les faires, et elle fonctionne (enfin devrait fonctionnée). EDIT// -- suis con, j'ai completement oublié d'assigné une variable pour récuperer ce que ma fonction retourne
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant