Maison > Article > développement back-end > Plusieurs programmes sur la fonction PHP substr()
Qu'est-ce que la fonction substr() ? La fonction substr() renvoie une partie de la chaîne. Il existe de nombreux programmes écrits avec la fonction PHP substr(). Cet article présente principalement plusieurs programmes écrits avec la fonction PHP substr().
Syntaxe : substr(string,start,length).
chaîne : obligatoire. Spécifie une partie de la chaîne à renvoyer.
démarrage : obligatoire. Spécifie où commencer la chaîne. Nombre positif - commence à la position spécifiée dans la chaîne ; nombre négatif - commence à la position spécifiée à partir de la fin de la chaîne ; 0 - commence au premier caractère de la chaîne.
charlist : facultatif. Spécifie la longueur de la chaîne à renvoyer. La valeur par défaut est jusqu'à la fin de la chaîne. Nombre positif - renvoyé à partir de la position du paramètre de début ; nombre négatif - renvoyé à partir de la fin de la chaîne.
Remarque : Si le début est un nombre négatif et que la longueur est inférieure ou égale au début, la longueur est 0.
Liste des programmes : Paramètre de démarrage négatif
1 <?php 2 $rest = substr("abcdef", -1); // returns "f" 3 echo $rest.'<br />'; 4 $rest = substr("abcdef", -2); // returns "ef" 5 echo $rest.'<br />'; 6 $rest = substr("abcdef", -3, 1); // returns "d" 7 echo $rest.'<br />'; 8 ?>
Résultat en cours d'exécution du programme :
1 f
2 ef
3 d
Liste des programmes : Un paramètre de longueur négative
commence à partir de la position de départ. Si la longueur est une valeur négative, le décompte commence à partir de la fin de la chaîne. Si substr("abcdef", 2, -1), cela commence à partir de c, puis -1 signifie intercepter vers e, ce qui signifie intercepter cde.
01 <?php 02 $rest = substr("abcdef", 0, -1); // returns "abcde" 03 echo $rest.'<br />'; 04 $rest = substr("abcdef", 2, -1); // returns "cde" 05 echo $rest.'<br />'; 06 $rest = substr("abcdef", 4, -4); // returns "" 07 echo $rest.'<br />'; 08 $rest = substr("abcdef", -3, -1); // returns "de" 09 echo $rest.'<br />'; 10 ?>
Résultat d'exécution du programme :
1 abcde
2 cde
3 de
Liste des programmes : Substr de base ( ) Utilisation de la fonction
01 <?php 02 echo substr('abcdef', 1); // bcdef 03 echo '<br />'; 04 echo substr('abcdef', 1, 3); // bcd 05 echo '<br />'; 06 echo substr('abcdef', 0, 4); // abcd 07 echo '<br />'; 08 echo substr('abcdef', 0, 8); // abcdef 09 echo '<br />'; 10 echo substr('abcdef', -1, 1); // f 11 echo '<br />'; 12 // Accessing single characters in a string 13 // can also be achieved using "square brackets" 14 $string = 'abcdef'; 15 echo $string[0]; // a 16 echo '<br />'; 17 echo $string[3]; // d 18 echo '<br />'; 19 echo $string[strlen($string)-1]; // f 20 echo '<br />'; 21 ?>
Résultat de l'exécution du programme :
1 bcdef
2 bcd
3 abcd
4 abcdef
5 f
6 a
7 j
8 f
Liste des programmes : Supprimer le suffixe
01 <?php 02 //removes string from the end of other 03 function removeFromEnd($string, $stringToRemove) 04 { 05 // 获得需要移除的字符串的长度 06 $stringToRemoveLen = strlen($stringToRemove); 07 // 获得原始字符串的长度 08 $stringLen = strlen($string); 09 10 // 计算出需要保留字符串的长度 11 $pos = $stringLen - $stringToRemoveLen; 12 13 $out = substr($string, 0, $pos); 14 return $out; 15 } 16 $string = 'nowamagic.jpg.jpg'; 17 $result = removeFromEnd($string, '.jpg'); 18 echo $result; 19 ?>
Programme résultats en cours d'exécution :
1 nowamagic.jpg
Liste des programmes : pour les chaînes trop longues, seuls le début et la fin sont affichés et des points de suspension sont utilisés au milieu à la place
01 <?php 02 $file = "Hellothisfilehasmorethan30charactersandthisfayl.exe"; 03 function funclongwords($file) 04 { 05 if (strlen($file) > 30) 06 { 07 $vartypesf = strrchr($file,"."); 08 // 获取字符创总长度 09 $vartypesf_len = strlen($vartypesf); 10 // 截取左边15个字符 11 $word_l_w = substr($file,0,15); 12 // 截取右边15个字符 13 $word_r_w = substr($file,-15); 14 $word_r_a = substr($word_r_w,0,-$vartypesf_len); 15 return $word_l_w."...".$word_r_a.$vartypesf; 16 } 17 else 18 return $file; 19 } 20 // RETURN: Hellothisfileha...andthisfayl.exe 21 $result = funclongwords($file); 22 echo $result; 23 ?>
Résultats en cours d'exécution du programme :
1 Hellothisfileha...andthisfayl.exe
Liste des programmes : afficher le texte supplémentaire sous forme de points de suspension
Souvent, nous devons afficher un message fixe nombre de mots, le nombre de mots supplémentaires. Utilisez plutôt des points de suspension.
01 <?php 02 $text = 'welcome to nowamagic, I hope you can find something you wanted.'; 03 $result = textLimit($text, 30); 04 echo $result; 05 function textLimit($string, $length, $replacer = '...') 06 { 07 if(strlen($string) > $length) 08 return (preg_match('/^(.*)\W.*$/', substr($string, 0, $length+1), $matches) ? $matches[1] : substr($string, 0, $length)) . $replacer; 09 10 return $string; 11 } 12 ?>
Résultat de l'exécution du programme :
1 bienvenue dans nowamagic, j'espère...
Liste des programmes : Chaîne de format
Parfois, nous devons formater une chaîne, telle qu'un numéro de téléphone.
01 <?php 02 function str_format_number($String, $Format) 03 { 04 if ($Format == '') return $String; 05 if ($String == '') return $String; 06 $Result = ''; 07 $FormatPos = 0; 08 $StringPos = 0; 09 while ((strlen($Format) - 1) >= $FormatPos) 10 { 11 //If its a number => stores it 12 if (is_numeric(substr($Format, $FormatPos, 1))) 13 { 14 $Result .= substr($String, $StringPos, 1); 15 $StringPos++; 16 //If it is not a number => stores the caracter 17 } 18 else 19 { 20 $Result .= substr($Format, $FormatPos, 1); 21 } 22 //Next caracter at the mask. 23 $FormatPos++; 24 } 25 return $Result; 26 } 27 // For phone numbers at Buenos Aires, Argentina 28 // Example 1: 29 $String = "8607562337788"; 30 $Format = "+00 0000 0000000"; 31 echo str_format_number($String, $Format); 32 echo '<br />'; 33 // Example 2: 34 $String = "8607562337788"; 35 $Format = "+00 0000 00.0000000"; 36 echo str_format_number($String, $Format); 37 echo '<br />'; 38 // Example 3: 39 $String = "8607562337788"; 40 $Format = "+00 0000 00.000 a"; 41 echo str_format_number($String, $Format); 42 echo '<br />'; 43 ?>
Résultat de l'exécution du programme :
1 +86 0756 2337788
2 +86 0756 23.37788
3 +86 0756 23.377 a
Quelques petits programmes simples PHP substr() fonctionnent, mais nous devons encore les comprendre et suivre les idées nous-mêmes pour suivre les indices et écrire de meilleurs programmes.
Recommandations associées :
Explication détaillée en chinois du traitement de la fonction php substr()
Explication des exemples d'utilisation de la fonction php substr() Interception de chaîne
Utilisation de la fonction php substr()
10 articles recommandés sur la fonction php substr()
Solution au code tronqué chinois php substr
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!