travail sur string

Par cid5420, il y a 10 ans


Bonjour,

je cherche à travailler une chaine contenant des majuscules.
Je m'explique, j'ai une chaine de type : TestUserTable
Ce que je veux : testuser
Donc j'aimerais savoir comment detecter la separation par majuscule pour inserer les "
".
ensuite un str_replace pour enlever le "Table".

3 réponses

cid5420, il y a 10 ans

Merci, pour cette réponse.
J'utilise les regex pour séparer les mots d'une chaine avec les majuscules.
Ensuite j'arrive à inclure le "" devant. Après je bloque sur le fait que je ne veux pas avoir de "" pour l'élément 0, qu'il peut y avoir plusieurs mots dans une chaine (aleatoire) et surtout comment afficher ce que j'obtiens ?

un peut de code !

$var = "FtthUserTable"; $key = preg_split('/(?=[A-Z])/', $var, -1, PREG_SPLIT_NO_EMPTY); foreach($key as $k){ $repl = strtolower("_".$k); var_dump($repl); }

j'obtiens
string '_ftth' (length=5)
string '_user' (length=5)
string '_table' (length=6)

parce que là en l'état, j'ai 3 string, moi au final je veux la recomposer ! ftth_user_table, si j'obtiens ça, après je fais ce que je veux !

cid5420, il y a 10 ans

Pour ceux que ça interesse, j'ai résolu mon problème.

$var = "FtthUserTypeTable"; $key = preg_split('/(?=[A-Z])/', $var, -1, PREG_SPLIT_NO_EMPTY); foreach($key as $k){ $repl[] = strtolower("_".$k); } $rep = implode($repl); $rep1 = str_replace('_table', '', $rep); $rep2 = str_replace('_ftth', 'ftth', $rep1); var_dump($rep2);

ce que j'obtiens est : ftth_user_type