IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Utilisation de preg_replace sur des données issues d'une base SQL [RegEx]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Octobre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Webmaster amateur

    Informations forums :
    Inscription : Octobre 2006
    Messages : 35
    Points : 25
    Points
    25
    Par défaut Utilisation de preg_replace sur des données issues d'une base SQL
    Bonsoir à tous.

    voilà le topo : je mémorise mes factures dans ma base de données de la manière suivante :

    %D% Frais d\'installation %/D%
    %PRIX% '.$prix_install.' € %/PRIX%
    %QUANTITE% 1 %/QUANTITE%
    etc ... afin de créer une ligne à chaque fois.

    Pour créer la facture en PDF, j'ai décidé d'utiliser html2pdf_v4.03 et pour créer mon tableau je voulais faire ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $patterns = array ('%D%','%/D%','%PRIX%','%/PRIX%','%QUANTITE%','%/QUANTITE%','%PROMO%','%/PROMO%');
    $replace = array ('<tr><td><strong>','</strong></td>','<td><p class="text-right">','&euro;</p></td>','<td><p>','</p></td></tr>','<tr><td><strong>','</strong></td>');
    $objet = preg_replace($patterns, $replace, $objet);
    et voila le résultat :
    Fatal error: Uncaught <span style="color: #AA0000; font-weight: bold;">ERREUR n°4</span><br>Fichier : /homez.49/chirdent/www/mon-site/html2pdf_v4.03/_class/parsingHtml.class.php<br>Ligne : 119<br><br>Code HTML non valide, les balises ne sont pas fermées dans le bon ordre.<br>Etat : <pre>Array ( [0] => tr [1] => td [2] => strong [3] => tr [4] => td [5] => strong [6] => td [7] => p [8] => td [9] => p [10] => td [11] => p [12] => td [13] => p [14] => page [15] => table [16] => tr [17] => td [18] => strong [19] => tr [20] => td [21] => strong [22] => td [23] => p [24] => td [25] => p [26] => td [27] => p [28] => td [29] => p ) </pre><br><br>HTML : ...ht&quot;&gt;% %&lt;td&gt;&lt;p&gt;% 1 %/&lt;td&gt;&lt;p&gt;% &lt;/table&gt; &lt;page_footer&gt; &lt;p&gt;Vos d... thrown in /homez.49/chirdent/www/mon-site/html2pdf_v4.03/_class/parsingHtml.class.php on line 119
    inutile de vous dire que j'ai essayé avec des [] des ## etc...
    là, je ne vois plus !!!

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Tu confonds les délimiteurs de tes regex et les délimiteurs de ton texte initial.
    Si tu utilises le % comme délimiteur de tes regex, alors les % de ta chaine ne seront pas pris en compte...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Octobre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Webmaster amateur

    Informations forums :
    Inscription : Octobre 2006
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Merci de l'info.... mais du coup, je dois faire comment ?

    ben oui, désolé, il faut me donner le détail, je suis un peu perdu !

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Octobre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Webmaster amateur

    Informations forums :
    Inscription : Octobre 2006
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Bon, je viens de remplacer tous les % par des ~

    mais j'ai encore cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Uncaught <span style="color: #AA0000; font-weight: bold;">ERREUR n°4</span><br>Fichier : /homez.49/chirdent/www/mon-site/html2pdf_v4.03/_class/parsingHtml.class.php<br>Ligne : 119<br><br>Code HTML non valide, les balises ne sont pas fermées dans le bon ordre.<br>Etat : <pre>Array ( [0] => tr [1] => td [2] => strong [3] => tr [4] => td [5] => strong [6] => td [7] => p [8] => td [9] => p [10] => td [11] => p [12] => td [13] => p [14] => page [15] => table [16] => tr [17] => td [18] => strong [19] => tr [20] => td [21] => strong [22] => td [23] => p [24] => td [25] => p [26] => td [27] => p [28] => td [29] => p ) </pre><br><br>HTML : ...ht&quot;&gt;~ ~&lt;td&gt;&lt;p&gt;~ 1 ~/&lt;td&gt;&lt;p&gt;~ &lt;/table&gt; &lt;page_footer&gt; &lt;p&gt;Vos d... thrown in /homez.49/chirdent/www/mon-site/html2pdf_v4.03/_class/parsingHtml.class.php on line 119
    du coup, je me demande si le problème ne viens pas des "<" des <td> qui semblent convertis en html...

    je sèche !!

  6. #6
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Dans ton cas il ne faut pas remplacer les % du tableau pattern mais ajouter des délimiteurs autour, disons ~, exemple:

    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/03/2014, 12h02
  2. Insertion des données Excel dans une base SQL-Server
    Par cedy-kassy dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 15/03/2012, 11h11
  3. [FPDF] Mettre des données issues d'une requête dans l'entête
    Par zoom61 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 30/03/2007, 10h10
  4. [MySQL] Remplir un array() avec des données issues d'une bdd
    Par fichtre! dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/12/2006, 17h03
  5. [RegEx] utilisation de preg_replace sur des balises
    Par Kerod dans le forum Langage
    Réponses: 5
    Dernier message: 09/12/2005, 13h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo