如何在 PHP 中提取字符串的前100个字符

我正在寻找一种方法,从一个字符串变量提取前100个字符放入另一个变量打印。

是否有一个函数可以很容易地做到这一点?

例如:

$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
203056 次浏览
$small = substr($big, 0, 100);

For String Manipulation here is a page with a lot of function that might help you in your future work.

try this 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);
}

You could use substr, I guess:

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

or mb_substr for multi-byte strings:

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

You could create a function wich uses this function and appends for instance '...' to indicate that it was shortened. (I guess there's allready a hundred similar replies when this is posted...)

$x = '1234567';


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


echo substr ($x, 1, 1);  // outputs 2


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


echo substr ($x, 1);     // outputs 234567


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

Without php internal functions:

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);

A late but useful answer, PHP has a function specifically for this purpose.

mb_strimwidth

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