2011-08-11 4 views
0

je la chaîne suivante:PHP chaîne changer preg_replace

"Quelque chose: string (minuscule) tout Somethingb: chiffres"

Je suis en train de faire l'omble chevalier après quelque chose et la numéros après Somethingb avec preg_replace.

En outre, parfois la chaîne sera juste la première partie:

"Quelque chose quoi que ce soit char"

Alors, que j'ai besoin est un résultat comme celui-ci en utilisant preg_replace:

"chaîne (minuscule), chiffres"

ou tout simplement

"string (minuscule)"

si le b Quelque chose n'est pas dans la chaîne.

Une idée serait grandement appréciée.

Merci

+0

Pourriez-vous s'il vous plaît donner plus d'informations? Je ne comprends pas très bien. Le 'char' pourrait-il être, fondamentalement, n'importe quelle chaîne? Et quel serait le point d'arrêt du match? La chaîne peut-elle avoir des espaces? Voudrais-je que l'expression rationnelle corresponde à tout jusqu'à ce qu'elle rencontre «Somethingb», si elle existait, où elle chercherait alors les nombres? – Pete171

Répondre

0

Voici regex pour le premier cas:

/Something:([a-z]+).*?Somethingb:(\d+)/ 

et remplacer

$1 , $2 

vous pouvez également passer & paramètre $ count pour savoir si remplacer a réussi

Dans le deuxième cas voulez-vous "Quelque chose de quoi que ce soit" ome "Quelque chose de quoi que ce soit"? si c'est ainsi que vous pouvez juste faire strtolower ($ string) si $ count == 0

+0

Résolu avec ça. Merci. – alvarolo