Partage
  • Partager sur Facebook
  • Partager sur Twitter

Manipulation de String

    20 janvier 2019 à 18:57:39

    Bonjour,

    Je me suis trouvé une fonction qui me permet de retourner une chaîne de caractère qui se trouve entre deux autres...

    function myFunction($string, $start, $end){
    
    	    $string = ' ' . $string;
    	    $ini = strpos($string, $start);
    	    if ($ini == 0) return '';
    	    $ini += strlen($start);
    	    $len = strpos($string, $end, $ini) - $ini;
    	    return substr($string, $ini, $len);
    	}

    Elle fonctionne très bien, seulement il arrive parfois que dans $string j'ai plusieurs fois le couple $start $end, donc elle me retourne seulement la première occurence (je crois que c'est ça le mot ? =o) or j'aimerai qu'elle me les retourne toute...

    Quelqu'un peux m'aider svp ?

    Merci !

    -
    Edité par Fragmatik05 20 janvier 2019 à 18:58:19

    • Partager sur Facebook
    • Partager sur Twitter
      20 janvier 2019 à 19:14:17

      C'est de l'algo : tu fais une boucle tant que strpos ne renvoie pas FALSE (en n'oubliant pas de changer la position de départ - son 3^e paramètre - sinon forcément ça va boucler indéfiniment) + il faut un tableau pour stocker toutes les correspondances trouvées.

      • Partager sur Facebook
      • Partager sur Twitter
        21 janvier 2019 à 8:31:23

        Bonjour,

        est-ce que jouer avec les regex ne serait pas plus profitable ? http://php.net/preg_match semble faire ce que tu attends.

        • Partager sur Facebook
        • Partager sur Twitter

        Pas d'aide concernant le code par MP, le forum est là pour ça :)

        Manipulation de String

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown