Séparation de lettre et chiffre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Séparation de lettre et chiffre

par sadeq » 20 juin 2007, 16:11

Regarde du côté des expressions régulières
Hé oui un jour ou l'autre faudra s'y attaquer, bonne chance :lol:

Exemple simple, un split() qui coupe une chaine en morceaux, selon un critère de recherche basé sur une expression régulière:
<?php
//*************************
// CHIFFRES & LETTRES
//*************************
//

//Texte d'origine
$texte = "A1BC23D4";

//Les chiffres
$chiffres = split("[a-zA-Z]", $texte);

//Les lettres
$lettres = split("[0-9]", $texte);

//Affichage
echo "<p>Dans le texte: $texte";
echo "<p>Les chiffres sont: ".implode("",$chiffres);
echo "<p>Les lettres sont: ".implode("",$lettres);
?>
Dans ce code split() découpe le texte en plusieurs parties en se reposant sur l'expression régulière définie ([0-9] ou [a-zA-Z]) constituant des points de découpage.
Quand il s'agissait de récupèrer les chiffres, on a découpé le texte selon les positions des lettres [a-zA-Z] et vis-versa, les positions des chiffres [0-9] ont servi comme points de coupe pour extraire les lettres.

Split() élimine donc le caractère défini comme séparateur. On en a profité dans cet exemple.

Le même exemple sous forme de fonction :
//Fonction d'extraction des chiffres et des lettres
function chiffres_et_lettres($texte){
	return array("chiffres"=>implode("",split("[a-zA-Z]", $texte)), "lettres"=>implode("",split("[0-9]", $texte)));
}

//Test de la fonction
print_r(  chiffres_et_lettres("A1BC23D4")  );
On a vu maintenant que c'est possible, il faut alors passer à la vitesse supérieure, faire des recherches et utiliser d'autre fonctions que split() qui gèrent mieux les expressions régulières. Car ceci dit, cet exemple se limite au caractères A à z

Séparation de lettre et chiffre

par amdo » 20 juin 2007, 16:04

Bonjour,

J'ai un mot de ce format : B10 , Eq qui sont obtenus à partir d'une requête

JE voudrais un script pour séparer ces mots en mettant les lettres dans une variable et les chiffres dasn une variable.