• PHP > Manipulations des chaînes de caractères

      LONGUEUR D’UNE CHAINE

      strlen($chaine);

       

       

      MORCEAU D’UNE CHAINE

       

      substr( $chaine , début , longueur );

       

      Retourne le segment de $chaine commençant par début et de longueur longueur.

       

      NOTE : le premier caractère est numéroté 0 :

       

      $VAR = "abcdefgh..."
              ↑↑↑↑↑↑↑↑
              01234567...

       

      EXEMPLES :

       

      substr( "abcdef", 2 ); →  cdef

      substr( "abcdef", 0, 3 ); →  abc

      substr( "abcdef", 1, 3 ); →  bcd

       

      Si début est négatif, le retour commencera au caractère numéro début à partir de la fin de la chaîne :

       

      substr( "abcdef", -1 ); →  f

      substr( "abcdef", -2 ); →  ef

      substr( "abcdef", -3, 1 ); →  d

       

      Si longueur est négatif, autant de caractères sera omis à partir de la fin de la chaîne.

       

      substr( "abcdef", 0, -1 ); →  abcde

      substr( "abcdef", 1, -3 ); →  bc

      substr( "abcdef", -3, -1 ); →  de

       

       

      SUPPRIMER LE PREMIER CARACTÈRE :


      substr( $VAR, 1 );

       

       

      SUPPRIMER LE DERNIER CARACTÈRE :


      substr( $VAR, 0, -1 );

       

       

      Quelques RegEx utiles

       

      TRANSFORMER TOUS LES URL D’UNE CHAÎNE :

       

      $reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
      preg_match_all($reg_exUrl, $VAR, $matches);
      $usedPatterns = array();
      
      foreach($matches[0] as $pattern){
      
         if(!array_key_exists($pattern, $usedPatterns)){
      
            $usedPatterns[$pattern]=true;
            $VAR = str_replace($pattern, "<a href=\"{$pattern}\">{$pattern}</a> ", $VAR);
      
         }
      
      }

       

      ici, nous transformons tout ce qui commence par http:// ou https:// ou ftp:// ou ftps:// par des balises <a>

       

      NOTE : le 3, veut dire : uniquement les noms de domaine avec maxi 3 lettres ( .com, .fr, .org). Il faut augmenter ce chiffre si l’on veut prendre en compte les .news, .info, etc.


 

Aucun commentaire

 

Laissez un commentaire