-1
votes

Obtenez la chaîne après le deuxième soulignement en PHP

1_0_this est une chaîne

456_1_This_is_other_string_next

1999999_12_IS-String-TOO

Comment obtenir: ceci est une chaîne, this_is_other_string_next, iS-String-TOO

merci


5 commentaires

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 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


3 Réponses :


5
votes

juste un exemple à penser:

echo explode('_', '1_0_This is string', 3)[2];
echo explode('_', '1999999_12_Is-string-too', 3)[2];


4 commentaires

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 IT.



2
votes

Vous pouvez essayer d'exploser la chaîne d'origine à l'aide de _ sous forme de délimiteur à l'aide de EXPLODE (String $ Délimiter, string $ string [ int $ limite = php_int_max]): tableau (Voir http://php.net/manual/fr/function.explode.php < /a>).

Tan Vous pouvez compter le nombre d'éléments dans la matrice résultante et renvoyer quelque chose en conséquence.

exemple ... xxx


0 commentaires

0
votes

Utilisation de preg_replace avec une limite xxx

sortie xxx

La regex est simple. Associez tout ce qui n'est pas _ (plus d'une fois, gourmand) suivi d'un _ . Limite 2 remplacements.

à l'aide de Preg Split xxx

sortie xxx

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.


0 commentaires