-
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
$chainecommençant pardébut
et de longueurlongueur
.NOTE : le premier caractère est numéroté 0 :
$VAR = "abcdefgh..." ↑↑↑↑↑↑↑↑ 01234567...
EXEMPLES :
substr( "abcdef", 2 );→ cdefsubstr( "abcdef", 0, 3 );→ abcsubstr( "abcdef", 1, 3 );→ bcdSi
début
est négatif, le retour commencera au caractère numérodébut
à partir de la fin de la chaîne :substr( "abcdef", -1 );→ fsubstr( "abcdef", -2 );→ efsubstr( "abcdef", -3, 1 );→ dSi
longueur
est négatif, autant de caractères sera omis à partir de la fin de la chaîne.substr( "abcdef", 0, -1 );→ abcdesubstr( "abcdef", 1, -3 );→ bcsubstr( "abcdef", -3, -1 );→ deSUPPRIMER 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.