Home > Article > Backend Development > Several programs about PHP substr() function
What is the substr() function? The substr() function returns part of the string. There are many programs written with the PHP substr() function. This article mainly introduces several programs written with the PHP substr() function.
Syntax: substr(string,start,length).
string: required. Specifies a part of the string to be returned.
start: required. Specifies where in the string to begin. Positive number - starts at the specified position in the string; negative number - starts at the specified position from the end of the string; 0 - starts at the first character in the string.
charlist: optional. Specifies the length of the string to be returned. The default is until the end of the string. Positive number - returned from the position of the start parameter; negative number - returned from the end of the string.
Note: If start is a negative number and length is less than or equal to start, length is 0.
Program List: Negative start parameter
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 ?>
Program running result:
1 f
2 ef
3 d
Program List: Negative length parameter
starts from the start position. If length is a negative value, it starts counting from the end of the string. If substr("abcdef", 2, -1), it starts from c, and then -1 means to intercept to e, which means to intercept 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 ?>
Program running results:
1 abcde
2 cde
3 de
Program List: Basic substr() function Usage
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 ?>
Program running results:
1 bcdef
2 bcd
3 abcd
4 abcdef
5 f
6 a
7 d
8 f
Program List: Remove suffix
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 ?>
Program running result:
1 nowamagic.jpg
Program List: If the string is too long, only the beginning and end will be displayed, and the middle will be replaced by an ellipsis
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 ?>
Program operation result:
1 Hellothisfileha ...andthisfayl.exe
Program List: Display extra text as ellipses
Many times we need to display a fixed number of words, and the extra words are replaced with ellipses.
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 ?>
Program running result:
1 Welcome to nowamagic, I hope...
Program List: Format string
Sometimes we need Format strings, such as phone numbers.
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 ?>
Program running result:
1 +86 0756 2337788
2 +86 0756 23.37788
3 +86 0756 23.377 a
A few simple PHP substr() function small programs, but we still need to understand them and keep up with the ideas to follow the clues and write better programs.
Related recommendations:
php substr() function processing detailed Chinese explanation
php substr() function string interception usage example explanation
Usage of php substr() function
Recommended 10 articles about php substr() function
php substr Chinese garbled solution
The above is the detailed content of Several programs about PHP substr() function. For more information, please follow other related articles on the PHP Chinese website!