Combinaisons dans preg_replace
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
Code:
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);
?> |
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.
D'avance, merci pour votre aide.