Как вытянуть первые 100 символов строки в PHP


91

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

Лучшим вопросом будет: как вы извлекаете / выбираете первые n символов из строки?
rahim.nagori

Ответы:


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

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


2
существует проблема с возвратом арабского текста, поскольку это слова с комбинированными буквами, если второй параметр (100) не находится в конце арабских слов в последнем, при подсчете 100 он вернет null. для этого мы будем использовать (mb_substr ($ big, 0,100)
SAR

38

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

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

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

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

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


22

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

mb_strimwidth

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

2
Хорошо 1 ... Действительно полезно. +1
RJParikh

21
$ x = '1234567';

эхо substr ($ x, 0, 3); // выводит 123

эхо substr ($ x, 1, 1); // выводит 2

echo substr ($ x, -2); // выводит 67

echo substr ($ x, 1); // выводит 234567

echo substr ($ x, -2, 1); // выводит 6

1
Спасибо. Это красиво суммирует переменные функции substr ()!
JoshFinnie

У меня 128.82есть строка, и я хочу отделиться, 100и28.82
Moeez

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

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);
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.