1_0_this est une chaîne p>
456_1_This_is_other_string_next p>
1999999_12_IS-String-TOO P>
Comment obtenir: ceci est une chaîne, this_is_other_string_next, iS-String-TOO P>
merci p>
3 Réponses :
juste un exemple à penser:
echo explode('_', '1_0_This is string', 3)[2]; echo explode('_', '1999999_12_Is-string-too', 3)[2];
Je ne connais rien après le deuxième _, peut-être inclus beaucoup _, nous ne pouvons pas faire avec exploser.
Merci pour l'aide. Je sais exploser, c'est une fonction de base, elle ne fonctionnera pas avec: 456_1_Chis_is_other_string_next
Oh, c'est mon erreur. Pardon. Votre solution est élégante, merci beaucoup :)
Si l'une des réponses ici vous a aidé - N'hésitez pas à Accepter B> IT.
Vous pouvez essayer d'exploser la chaîne d'origine à l'aide de Tan Vous pouvez compter le nombre d'éléments dans la matrice résultante et renvoyer quelque chose en conséquence. p> exemple ... p> _ code> sous forme de délimiteur à l'aide de
EXPLODE (String $ Délimiter, string $ string [ int $ limite = php_int_max]): tableau code> (Voir http://php.net/manual/fr/function.explode.php < /a>).
Utilisation de preg_replace avec une limite sortie p> La regex est simple. Associez tout ce qui n'est pas à l'aide de Preg Split P> sortie p> essentiellement la même regex, mais celle-ci correspond Le premier 2 fois le motif se produit. Vous pouvez faire la même chose avec Preg_replace, mais c'est un peu inutile là-bas. P> p> _ code> (plus d'une fois, gourmand) suivi d'un
_ code>. Limite 2 remplacements. p>
Il y avait une question très similaire hier. Il n'a également montré aucune tentative de code. S'il vous plaît montrer quel problème de codage que vous rencontrez.
Je ne pense pas qu'une tentative de code est requise dans ce cas si l'OP ne contient aucune idée de manipuler des chaînes en PHP.
@ASIBY
SUBSTR CODE> est étiqueté (pas l'approche que je prendrait mais pourrait être faite).
C'est cette une corde ou des chaînes différentes?
Chaîne différente. Ce sont des exemples. Il est venu: ID + Numéro + Nom du fichier