Как вы вытягиваете первые 100 символов строки в PHP - PullRequest
75 голосов
/ 25 ноября 2008

Я ищу способ получить первые 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 ]

170 голосов
/ 25 ноября 2008
$small = substr($big, 0, 100);

Для Манипулирование строками вот страница с множеством функций, которые могут помочь вам в вашей будущей работе.

32 голосов
/ 25 ноября 2008

Вы можете использовать substr, я думаю:

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

или mb_substr для многобайтовых строк:

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

Вы можете создать функцию, которая использует эту функцию и добавляет, например, '...', чтобы указать, что она была сокращена. (Я полагаю, что уже опубликовано сто подобных ответов, когда это опубликовано ...)

19 голосов
/ 25 ноября 2008
$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
18 голосов
/ 13 июня 2016

поздний, но полезный ответ, PHP имеет функцию специально для этой цели.

mb_strimwidth

$string = mb_strimwidth($string, 0, 100);
$string = mb_strimwidth($string, 0, 97, '...'); //optional characters for end
18 голосов
/ 25 ноября 2008

попробуйте эту функцию

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);
}
2 голосов
/ 30 января 2015

без внутренних функций 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...