Expressions regex gros problèmes

boulika Messages postés 58 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 30 octobre 2009 - 30 mai 2006 à 11:12
boulika Messages postés 58 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 30 octobre 2009 - 30 mai 2006 à 16:15
Bonjour à tous,
je vais essayé d'etre le plus clair .
J'ai un dans un champ d'une base de données des infos du type " <html> ... <^" ... bref de l'html et on ne sait pas ce qu'il y a dedans par avance. Par contre il se trouve aussi des balises comme ca {produit.ref_123} , j'aimerai récupérer enfait les chiffres tout en affichant aussi le reste du code donc l'html.
Je sais qu'il faut uiliser les expressions regulières j'ai reussie a le faire par contre il n'affiche que ce que je récupère et pas le reste du code .
AIDEZ SVP ;)
Merci par avance

8 réponses

cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
30 mai 2006 à 14:45
Donne un exemple de champ de départ, et de ce que tu veux récupérer à
l'arriver, ainsi que ce que tu veux afficher. Je ne sais pas si tu t'es
relu mais c'est particulièrement obscur... "récupérer les chiffres" ca
veut dire quoi ?

Pada
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
30 mai 2006 à 14:46
arrivée*

Moi aussi je ferais bien de me relire, toutes mes excuses...

Pada
0
boulika Messages postés 58 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 30 octobre 2009
30 mai 2006 à 15:34
Voici le code
en fait le chiffre c'est exemple ici 123

<?
        function getEpression($chaine,$expression,$ok)
                    {
                        preg_match_all($expression,$chaine, $trouve);
                       
                        if( count($trouve[0])!=0 )
                        {
                            return($trouve[1]);
                            echo $ok;
                        }
                        else echo $ok;
                    }
                   
function template($data,$ok)
{
//recherche de produit

 $produit_explode = getEpression($data,'#{produit.(.*?)}#is',$ok);
 $count_produit_e = count($produit_explode);
 for($i=0; $i<$count_produit_e; $i++)
 {
    $sqla = 'SELECT * FROM '._PREFIX_TABLE.'prod WHERE ref="'.$produit_explode[$i].'" ';
    $reqa = mysql_query($sqla) or die('Erreur SQL !
'.$sqla.'
'.mysql_error());
        while($dataa = mysql_fetch_assoc($reqa))
            {
                echo $dataa['nom'];
            }
        }
        echo $ok;
       
}

?>
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 mai 2006 à 15:47
Salut,

un preg_match_all pour faire ça ? tu peux utiliser un strpos ça sera plus rapide.

Sinon évite le SELECT *, ici apparemement tu ne veux récupérer que le nom dans ta boucle, donc SELECT nom FROM ...

<hr size="2" width="100%" /><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0

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

Posez votre question
boulika Messages postés 58 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 30 octobre 2009
30 mai 2006 à 15:58
c'était un essai que ca soit strpos ou * mais ca marche pas mieux
0
boulika Messages postés 58 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 30 octobre 2009
30 mai 2006 à 15:59
PS enfin ca marche tres bien sauf que le reste du $data ne s'affiche pas
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 mai 2006 à 16:01
Ah nan laisse tomber pour le strpos vu que tu rentres une expression... bon par contre faire trente six requêtes en cas de 36 produits présents, c'est un peu lourd...

<hr size="2" width="100%" /><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
boulika Messages postés 58 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 30 octobre 2009
30 mai 2006 à 16:15
oui mais j'aurai besoin de tout afficher mais le probleme c'est pas la requete
0
Rejoignez-nous