Soucis d'erreur avec des BBcodes - regex
*Jeanjan*
Messages postés
11
Statut
Membre
-
*Jeanjan* Messages postés 11 Statut Membre -
*Jeanjan* Messages postés 11 Statut Membre -
Bonjour à vous :]
Je viens vous voir car je rencontre des soucis dans les bbcodes que je veux mettre en place :
Dès que je l'insère dans mon code, j'ai cette erreur : ( ! ) Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\Site - Php\index.php on line 44 (qui est la ligne de cette regex !)
Je ne comprends pas, car les trois autres que j'ai pu faire son identique :
Auriez vous une idée que j'aurais pu zapper ?
Merci d'avoir pris le temps de lire mon soucis ! :]
Je viens vous voir car je rencontre des soucis dans les bbcodes que je veux mettre en place :
$texte = preg_replace('#\[strike](.+)\[/strike]#isU','<span style="text-decoration:[http://www.commentcamarche.net/download/telecharger-34098305-line line]-through;">$1</span>',$texte);
Dès que je l'insère dans mon code, j'ai cette erreur : ( ! ) Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\Site - Php\index.php on line 44 (qui est la ligne de cette regex !)
Je ne comprends pas, car les trois autres que j'ai pu faire son identique :
// Bloc des balises [b]-[/b]
$texte = preg_replace('#\[b](.+)\[/b]#isU', '<strong>$1</strong>', $texte);
// Bloc des balises [u]-[/u]
$texte = preg_replace('#\[i](.+)\[/i]#isU', '<em>$1</em>', $texte);
// Bloc des balises [i]-[/i]
$texte = preg_replace('#\[u](.+)\[/u]#isU','<span style="text-decoration:underline;">$1</span>',$texte);
Auriez vous une idée que j'aurais pu zapper ?
Merci d'avoir pris le temps de lire mon soucis ! :]
12 réponses
-
peux-tu poster la lignes contenant du code précédent la ligne indiquée ?
-
Voici le bout de code en question ! :] (merci de prendre le temps de regarder !!)
$reponse = $bdd->query('SELECT * FROM accueil ORDER BY id DESC LIMIT 0, 1'); while ($donnees = $reponse->fetch()) { $texte = nl2br(htmlspecialchars($donnees['message'])); //BBcode // Bloc des balises [b]-[/b] $texte = preg_replace('#\[b](.+)\[/b]#isU', '<strong>$1</strong>', $texte); // Bloc des balises [u]-[/u] $texte = preg_replace('#\[i](.+)\[/i]#isU', '<em>$1</em>', $texte); // Bloc des balises [i]-[/i] $texte = preg_replace('#\[u](.+)\[/u]#isU','<span style="text-decoration:underline;">$1</span>',$texte); // Bloc des balises [strike]-[/strike] $texte = preg_replace('#\[strike](.+)\[/strike]#isU','<span style="text-decoration:line-through;">$1</span>',$texte); echo $texte; ?> -
Je n'ai pas d'erreur chez moi quand j'exécute ton code.
J'ai juste modifié pour exécuter les regex (essaie de donner un code exécutable directement après copier-coller c'est plus pratique pour nous) :
<?php //~ $reponse = $bdd->query('SELECT * FROM accueil ORDER BY id DESC LIMIT 0, 1'); //~ while ($donnees = $reponse->fetch()) //~ { $texte = nl2br(htmlspecialchars('dfsdfsd sd fsd d [strike]fsd[/strike] fsd fs sd')); //BBcode // Bloc des balises [b]-[/b] $texte = preg_replace('#\[b](.+)\[/b]#isU', '<strong>$1</strong>', $texte); // Bloc des balises [u]-[/u] $texte = preg_replace('#\[i](.+)\[/i]#isU', '<em>$1</em>', $texte); // Bloc des balises [i]-[/i] $texte = preg_replace('#\[u](.+)\[/u]#isU','<span style="text-decoration:underline;">$1</span>',$texte); // Bloc des balises [strike]-[/strike] $texte = preg_replace('#\[strike](.+)\[/strike]#isU','<span style="text-decoration:line-through;">$1</span>',$texte); echo $texte; ?> -
Oups, désolé ! (C'est mon premier post !)
Je comprends pas d'ou peut provenir l'erreur alors ... Dès que je supprime le/la dernier/e regex, j'ai plus d'erreur ! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
essaie d'afficher avec un var_dump($texte); juste avant la dernière regex et envoie la dernière sortie.
-
Dès que je met la dernière regex, rien ne s'affiche a part l'erreur ! Du coup, je l'ai supprimé et mis le var_dump() et ca me donne ceci :
string '<strong>Bonjour,</strong><br />
<em>Bienvenue</em> <span style="text-decoration:underline;">sur</span> [strike]notre/strike site.' (length=132)
Rien d'anormal... Bizarre ! -
En effet aucune erreur en apparence..
J'ai pas d'autre idée pour le coup :/ -
Je te met tout le fichier qui rencontre un soucis, cela peut etre t'être utile :
https://pastebin.com/Cj2JLi0D -
Toujours aucune erreur de syntax chez moi quand je prend ton fichier complet...
-
Bon, et bien merci quand même, je vais tenter de reformuler ma regex pour plus avoir l'erreur ! ^^
-
Je serai toi j'essaie d'installer xampp ou une autre version de wamp (avec une autre version de php donc) il est possible que l'erreur vienne de ta version de php
-
Alors, j'ai effacé toute mes regex, de A à Z, et j'ai tout repris à 0, et ca marche ...
Va t'en savoir pourquoi ! XD
Bref, merci beaucoup d'avoir pris de ton temps pour me répondre et tenter de résoudre mon soucis, merci beaucoup !
(juste une dernière question, ma regex pour un lien cliquable était elle correcte ?$texte = preg_replace('#(http|https|ftp)://([-éa-zA-Z0-9\/\.\?_=\#\@:~\{\}&;]{20})(.+)([-éa-zA-Z0-9\/\.\?_=\#\@:~\{\}&;]{5})#i', ' <a href="$0" target="_blank">$1://$2[...]$4</a> ', $texte);
Ou vaut il mieux :$texte = preg_replace('#(http|https|ftp)://([\w\/\.\?_=\#\@:~\{\}&;]{20})(.+)([\w\/\.\?_=\#\@:~\{\}&;]{5})#i', ' <a href="$0" target="_blank">$1://$2[...]$4</a> ', $texte);
Et dans la première regex, à quoi sert "-é" (que je ne comprends pas, j'ai trouvé sur un fofo qu'une personne disait que c'était à mettre !))
Bref, merci à toi :]