Я ищу способ вывести первые 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
$small = substr($big, 0, 100);
Для String Manipulation – это страница с множеством функций, которые могут помочь вам в вашей будущей работе.
Я думаю, вы могли бы использовать substr:
$string2 = substr($string1, 0, 100);
или mb_substr для многобайтовых строк:
$string2 = mb_substr($string1, 0, 100);
Вы можете создать функцию, которая использует эту функцию, и добавляет, например, '...'
чтобы указать, что она была сокращена. (Я думаю, что уже есть сто похожих ответов, когда это опубликовано …)
попробуйте эту функцию
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 имеет функцию специально для этой цели.
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);