如何在PHP中抽取前100个字符的string

我正在寻找一种方法来拉出stringvariables的前100个字符,以放入另一个variables进行打印。

有没有一个function可以轻松做到这一点?

例如:

$string1 = "I am looking for a way to pull the first 100 characters from a string variable to put in another variable for printing."; $string2 = 100charfunction($string1); print $string2 

要得到:

 I am looking for a way to pull the first 100 characters from a string vari 
 $small = substr($big, 0, 100); 

对于string操作,这里是一个有很多function的页面,可以帮助你在将来的工作。

你可以使用substr,我猜:

 $string2 = substr($string1, 0, 100); 

或mb_substr多字节string:

 $string2 = mb_substr($string1, 0, 100); 

你可以创build一个函数来使用这个函数,并附加实例'...'来表明它被缩短了。 (我猜这个post已经有100多个类似的回复了…)

试试这个function

 function summary($str, $limit=100, $strip = false) { $str = ($strip == true)?strip_tags($str):$str; if (strlen ($str) > $limit) { $str = substr ($str, 0, $limit - 3); return (substr ($str, 0, strrpos ($str, ' ')).'...'); } return trim($str); } 
  $ x ='1234567';

 echo substr($ x,0,3);  //输出123

 echo substr($ x,1,1);  //输出2

 echo substr($ x,-2);  //输出67

 echo substr($ x,1);  //输出234567

 echo substr($ x,-2,1);  //输出6

一个晚但有用的答案,PHP有一个专门为此目的的function。

mb_strimwidth

 $string = mb_strimwidth($string, 0, 100); $string = mb_strimwidth($string, 0, 97, '...'); //optional characters for end 

没有php内部函数:

 function charFunction($myStr, $limit=100) { $result = ""; for ($i=0; $i<$limit; $i++) { $result .= $myStr[$i]; } return $result; } $string1 = "I am looking for a way to pull the first 100 characters from a string variable to put in another variable for printing."; echo charFunction($string1);