你如何在PHP中拉出一个字符串的前100个字符

时间:2008-11-25 13:36:24

标签: php string

我正在寻找一种方法从字符串变量中拉出前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

6 个答案:

答案 0 :(得分:169)

$small = substr($big, 0, 100);

对于String Manipulation,这是一个包含许多功能的页面,可以帮助您将来的工作。

答案 1 :(得分:32)

我猜你可以使用substr:

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

或mb_substr用于多字节字符串:

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

您可以创建一个使用此函数的函数,并附加例如'...'来表示它已被缩短。 (我想在发布此内容时已经有一百个类似的回复...)

答案 2 :(得分:19)

$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

答案 3 :(得分:18)

尝试此功能

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

答案 4 :(得分:18)

迟到但有用的答案, PHP具有专门用于此目的的功能。

mb_strimwidth

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

答案 5 :(得分:2)

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