Bonjour,
Je ne suis pas très à l'aise avec preg_replace, que j'utilise peu et quand je l'utilise, c'est dans des fonctions écrites il y a longtemps ... donc merci par vance pour votre indulgence
Je souhaite remplacer tout ce qui n'est pas alphabétique, ni en majuscule ni en minuscule, par un underscore. J'arrive à changer tout ce qui n'est pas en minuscule OU tout ce qui n'est pas en majuscule
Voici le code complet du script
Si vous l'exécutez, le résultat par de lui même !! Je précise que je ne souhaite pas passer toute la chaine en minuscule avant le remplacement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 <?php header('Content-type: text/xml; charset=utf-8'); define('EOL', "\r\n"); $vl_c_entete=''; $vl_c_entete.='<?xml version="1.0" encoding="utf-8"?>'; $vl_c_entete.='<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"'; $vl_c_entete.=' xmlns:row="http://dummy/rdf#" xmlns:NC="http://home.netscape.com/NC-rdf#">'; $vl_c_entete.='<RDF:Bag about="urn:data:row">'; echo $vl_c_entete; $vv_chaine="AAA je mets plein de commentaires d''ici à (la)-en passantt par <(#">]=\\ j''avais oublié)"; echo('<RDF:li><RDF:Description>'.EOL); $a[0]='/[^a-z]/'; //$a[0]='/[^a-z][^A-Z]\\)/'; // $a[1]='/[^A-Z]/'; $b[0]='_'; // $b[1]='_'; $fieldname=preg_replace($a, $b, $vv_chaine); //$fieldname=preg_replace($vl_c_avant, $vl_c_apres, $vv_chaine); echo(EOL.'<row:'.$fieldname.'>'.EOL); echo $vv_chaine; echo(EOL.'</row:'.$fieldname.'>'.EOL); echo(EOL.'</RDF:Description></RDF:li>'.EOL); echo('</RDF:Bag>'.EOL); echo('</RDF:RDF>'.EOL); ?>
D'avance, merci pour votre aide.
Partager