Как обрезать строку по символу в php с примерами

Традиционное решение

Одна из самых популярных и часто используемых функций — substr(). В нее передается два или три параметра:

  • исходная строка;
  • позиция начала ($iPos);
  • длина вырезаемой подстроки ($iLen).

Последний параметр можно не указывать. Если указано только два параметра: результатом substr() будет подстрока, от позиции начала ($iPos) до конца исходной строки. Если было передано три параметра, то обрезаем строку PHP от позиции начала ($iPos) до указанной длины ($iLen).

Выбрать только начало строки посредством этой функции возможно, когда первый параметр равен нулю. Если исходная позиция отрицательна, то началом, с которого обрезаем строку, PHP будет считать символ в позиции $iPos от конца строки. Нумерация символов в строке осуществляется с нуля.

Специальная функция

Задачу «обрезаем строку» PHP рассматривает (в широком смысле) в контексте: с обеих сторон. Исторически — это функция trim(), которая имеет целью удалить незначащие символы:

  • пробелы;
  • переводы строк;
  • возврат каретки;
  • табуляцию;
  • нулевые символы

с обоих концов строки. Это очень востребованная функция, особенно при работе с базами данных, выборка из которых часто содержит много пробелов. При использовании функции explode() также часто получаются лишние символы с начала и конца строки.

Однако далеко не все разработчики используют функцию trim() в полную силу. Для задачи «обрезаем строку» PHP предлагает использовать второй параметр функции, где можно указать любой набор символов, которые следует ликвидировать из исходной строки.

Существенно, что символы удаляются только с начала и с конца исходной строки

Важно, что манипулируя масками удаляемых символов и последовательностью подзадач

  • Сначала обрезаем строку на PHP по одной маске.
  • Потом по другой.
  • Потом по третьей.

В результате последовательности вариантов применения одной функции обрезаем текст на PHP так, как это требуется для решения поставленной задачи.

str-split()

Функция str-split() может быть использована в приведенной выше функции для преобразования строки в массив. str-split () не разбивает строку до целого слова. С ее помощью PHP обрезает последний символ в строке ровно до 120 знаков.

/* 
	str-split() 
	http://php.net/manual/en/function.str-split.php
*/

function internoetics_truncate_split($string, $length, $trimmarker = '...') {
  $lines = str_split($string, $length - strlen($trimmarker));
  $line = rtrim($lines);
  $result = ($lines != '') ? $line . $trimmarker : $line;
 return $result;
}

/* Использование */
echo internoetics_truncate_split($string, 120);

Как обрезать строку по символу

  1. -> разбираемся в тезисе
  2. -> explode
  3. ->показать слева
  4. ->показать справа
  5. ->показать слева
  6. ->показать справа
  7. Скачать

PHP Обрезать строку по символу можно по разному….
Обрезать строку по символу в php -> можно понять, как -> что у нас есть в строке определенный заранее известный символ, и вот по нему и нужно обрезать строку! Будем использовать explode
Обрезать строку по символу в php -> есть вообще строка… любая и нам требуется отсчитать некое количество символов и вот поэтому количеству символов и обрезать строку!

Мы уже говорили об этой функции explode — сейчас будет использовать её для обрезки строки по символу!
Нам потребуется для иллюстрации обрезки строки по символу какая-то произвольная строка с каким-то наполнением:$string = «12345678910|10987654321»;
Для примера, возьмем символ, который расположен примерно посередине -> «|», создаем такую запись :
$new_array = explode(«|» , $string);
Если нам потребуется первая часть, то используем current: echo current($new_array);
Результат:
12345678910
Если вам потребуется вторая часть, то используем end. Здесь нужно дополнение — если символ 1, то end будет показывать второй элемент, если символ в строке повторяется несколько раз, то end покажет последнюю ячейку массива

В данном случае разделительный элемент сроки я единственном числе, поэтому нам предстанет вторая часть:
echo end($new_array);
Результат:

10987654321

Прежде чем продолжать нам потребуются какие-то условия, например, нам нужно обрезать строку по 5 символу, здесь число не важно, и нам опять…
понадобится строка :
$string = «12345678910|10987654321»;
Поскольку и дальше будем использовать это число для обрезки по символу, то присвоим это значение произвольной переменной: $num_elem = 5;
Длаее нам понадобится функция substr и вот такая конструкция:
$first = substr($string , 0, $num_elem);
Далее выводим с помощью echo
echo $first;
Результат:
12345

Можете посчитать … строка обрезана по 5 символу!И показана строка с начала!
Но, что если нам требуется обрезать строку по символу с начала и удалить эту часть оставив только часть справа…

Как мы уже сказали выше, что если нам требуется обрезать строку сначала по символу и выкинуть эту часть, отставив строку с конца..
если вы не обратили внимание на строку

то рекомендую сейчас на неё внимательность посмотреть и на первый результат тоже…
Опять брем всю ту же строку…:
$string = «12345678910|10987654321»;
Пишем такую конструкцию:
echo substr($string , 5 );
Результат:

678910|10987654321

Теперь предположим
что нам требуется обрезать строку по символу с конца и показать левую часть, выкинув обрезанную часть:
echo substr($string , 0, — 5 ); ?>
Результат:

12345678910|109876

Опять обрезаем строку справа, и эту часть обрезанной строки и покажем:
Обрезать строку по символу № 5 с конца строки — показать правую часть:
echo substr($string , — 5 ); ?>
Результат:
54321

Последняя дата редактирования : 27.02.2021 14:23
Название скрипта :Обрезать строку по символу.

Скрипт № 33.13Ссылка на скачивание : Все скрипты на

//dwweb.ru/comments_1_5/include/img/hand_no_foto.png
no
no

SQL Учебник

SQL ГлавнаяSQL ВведениеSQL СинтаксисSQL SELECTSQL SELECT DISTINCTSQL WHERESQL AND, OR, NOTSQL ORDER BYSQL INSERT INTOSQL Значение NullSQL Инструкция UPDATESQL Инструкция DELETESQL SELECT TOPSQL MIN() и MAX()SQL COUNT(), AVG() и …SQL Оператор LIKESQL ПодстановочныйSQL Оператор INSQL Оператор BETWEENSQL ПсевдонимыSQL JOINSQL JOIN ВнутриSQL JOIN СлеваSQL JOIN СправаSQL JOIN ПолноеSQL JOIN СамSQL Оператор UNIONSQL GROUP BYSQL HAVINGSQL Оператор ExistsSQL Операторы Any, AllSQL SELECT INTOSQL INSERT INTO SELECTSQL Инструкция CASESQL Функции NULLSQL ХранимаяSQL Комментарии

Установки php.ini

Приводим значения по умолчанию, устанавливаемые в php.ini

Директива Значение по умолчанию
mbstring.language

«neutral»
mbstring.detect_order

NULL
mbstring.http_input

«pass»
mbstring.http_output

«pass»
mbstring.internal_encoding

NULL
mbstring.script_encoding

NULL
mbstring.substitute_character

NULL
mbstring.func_overload

«0»
mbstring.encoding_translation

«0»
  • mbstring.internal_encoding определяет внутреннюю кодировку символов по умолчанию

  • mbstring.http_input определяет кодировку символов по умолчанию HTTP-ввода

  • mbstring.http_output определяет кодировку символов по умолчанию HTTP-вывода

  • mbstring.detect_order определяет порядок определения кодировки символов по умолчанию. См. также
    mb_detect_order()

  • mbstring.substitute_character определяет символы для замещения неправильных кодировок символов

Web-браузерам предлагается использовать ту же кодировку при отправку форм.
Однако браузеры могут не использовать ту же кодировку символов. См. mb_http_input() для определения кодировки браузера.

Если enctype имеет установленное значение multipart/form-data в HTML-формах,
mbstring не конвертирует кодировку символов в POST-данных. Пользователь обязан сделать
это в скрипте, если конвертация нужна.

Одновременно браузеры достаточно наворочены, чтобы определять кодировку символов в HTML. charset лучше установить в HTTP-шапке/header. Измените
default_charset в соответствии с кодировкой символов.

Пример 4. Установки php.ini

;; Установить внутреннюю кодировку по умолчанию
;; Примечание: Используйте кодировку символов, которая работает с PHP
mbstring.internal_encoding    = UTF-8  ; Установить внутреннюю кодировку UTF-8

;; Установить кодировку символов по умолчанию для HTTP-ввода
;; Примечание: Скрипт не может изменить установку http_input
mbstring.http_input           = pass    ; Нет конвертации 
mbstring.http_input           = auto    ; Установить HTTP-ввод в auto
                                ; "auto" расширяется до "ASCII,JIS,UTF-8,EUC-JP,SJIS"
mbstring.http_input           = SJIS    ; Установить HTTP2-ввод в SJIS
mbstring.http_input           = UTF-8,SJIS,EUC-JP ; Специфицировать порядок

;; Установить кодировку символов по умолчанию для HTTP-вывода
mbstring.http_output          = pass    ; Нет конвертации
mbstring.http_output          = UTF-8   ; Установить кодировку HTTP-вывода в UTF-8

;; Установить порядок определения кодировки символов по умолчанию
mbstring.detect_order         = auto    ; Установить порядок определения в auto
mbstring.detect_order         = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Специфицировать порядок

;; Установить замещающий символ по умолчанию
mbstring.substitute_character = 12307   ; Специфицировать значение Unicode
mbstring.substitute_character = none    ; Не печатать символ
mbstring.substitute_character = long    ; Long-Пример: U+3000,JIS+7E7E

Пример 5. Установки php.ini для пользователей
EUC-JP

;; Отключить буферизацию вывода
output_buffering      = Off

;; Установить HTTP header набора символов
default_charset       = EUC-JP    

;; Установить конвертацию кодировки HTTP-ввода в auto
mbstring.http_input   = auto 

;; Конвертировать HTTP-вывод в EUC-JP
mbstring.http_output  = EUC-JP    

;; Установить внутреннюю кодировку EUC-JP
mbstring.internal_encoding = EUC-JP    

;; Не печатать неправильные символы
mbstring.substitute_character = none

Пример 6. Установки php.ini для пользователей SJIS

;; Включить буферизацию вывода
output_buffering     = On

;; Установить mb_output_handler для включения конвертации вывода
output_handler       = mb_output_handler

;; Установить HTTP header набора символов
default_charset      = Shift_JIS

;; Установить конвертацию кодировки http-ввода в auto
mbstring.http_input  = auto 

;; Конвертировать в SJIS
mbstring.http_output = SJIS    

;; Установить внутреннюю кодировку EUC-JP
mbstring.internal_encoding = EUC-JP    

;; Не печатать неправильные символы
mbstring.substitute_character = none

SQL Справочник

SQL Ключевые слова
ADD
ADD CONSTRAINT
ALTER
ALTER COLUMN
ALTER TABLE
ALL
AND
ANY
AS
ASC
BACKUP DATABASE
BETWEEN
CASE
CHECK
COLUMN
CONSTRAINT
CREATE
CREATE DATABASE
CREATE INDEX
CREATE OR REPLACE VIEW
CREATE TABLE
CREATE PROCEDURE
CREATE UNIQUE INDEX
CREATE VIEW
DATABASE
DEFAULT
DELETE
DESC
DISTINCT
DROP
DROP COLUMN
DROP CONSTRAINT
DROP DATABASE
DROP DEFAULT
DROP INDEX
DROP TABLE
DROP VIEW
EXEC
EXISTS
FOREIGN KEY
FROM
FULL OUTER JOIN
GROUP BY
HAVING
IN
INDEX
INNER JOIN
INSERT INTO
INSERT INTO SELECT
IS NULL
IS NOT NULL
JOIN
LEFT JOIN
LIKE
LIMIT
NOT
NOT NULL
OR
ORDER BY
OUTER JOIN
PRIMARY KEY
PROCEDURE
RIGHT JOIN
ROWNUM
SELECT
SELECT DISTINCT
SELECT INTO
SELECT TOP
SET
TABLE
TOP
TRUNCATE TABLE
UNION
UNION ALL
UNIQUE
UPDATE
VALUES
VIEW
WHERE

MySQL Функции
Функции строк
ASCII
CHAR_LENGTH
CHARACTER_LENGTH
CONCAT
CONCAT_WS
FIELD
FIND_IN_SET
FORMAT
INSERT
INSTR
LCASE
LEFT
LENGTH
LOCATE
LOWER
LPAD
LTRIM
MID
POSITION
REPEAT
REPLACE
REVERSE
RIGHT
RPAD
RTRIM
SPACE
STRCMP
SUBSTR
SUBSTRING
SUBSTRING_INDEX
TRIM
UCASE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATAN2
AVG
CEIL
CEILING
COS
COT
COUNT
DEGREES
DIV
EXP
FLOOR
GREATEST
LEAST
LN
LOG
LOG10
LOG2
MAX
MIN
MOD
PI
POW
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SUM
TAN
TRUNCATE
Функции дат
ADDDATE
ADDTIME
CURDATE
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURTIME
DATE
DATEDIFF
DATE_ADD
DATE_FORMAT
DATE_SUB
DAY
DAYNAME
DAYOFMONTH
DAYOFWEEK
DAYOFYEAR
EXTRACT
FROM_DAYS
HOUR
LAST_DAY
LOCALTIME
LOCALTIMESTAMP
MAKEDATE
MAKETIME
MICROSECOND
MINUTE
MONTH
MONTHNAME
NOW
PERIOD_ADD
PERIOD_DIFF
QUARTER
SECOND
SEC_TO_TIME
STR_TO_DATE
SUBDATE
SUBTIME
SYSDATE
TIME
TIME_FORMAT
TIME_TO_SEC
TIMEDIFF
TIMESTAMP
TO_DAYS
WEEK
WEEKDAY
WEEKOFYEAR
YEAR
YEARWEEK
Функции расширений
BIN
BINARY
CASE
CAST
COALESCE
CONNECTION_ID
CONV
CONVERT
CURRENT_USER
DATABASE
IF
IFNULL
ISNULL
LAST_INSERT_ID
NULLIF
SESSION_USER
SYSTEM_USER
USER
VERSION

SQL Server функции
Функции строк
ASCII
CHAR
CHARINDEX
CONCAT
Concat with +
CONCAT_WS
DATALENGTH
DIFFERENCE
FORMAT
LEFT
LEN
LOWER
LTRIM
NCHAR
PATINDEX
QUOTENAME
REPLACE
REPLICATE
REVERSE
RIGHT
RTRIM
SOUNDEX
SPACE
STR
STUFF
SUBSTRING
TRANSLATE
TRIM
UNICODE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATN2
AVG
CEILING
COUNT
COS
COT
DEGREES
EXP
FLOOR
LOG
LOG10
MAX
MIN
PI
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SQUARE
SUM
TAN
Функции дат
CURRENT_TIMESTAMP
DATEADD
DATEDIFF
DATEFROMPARTS
DATENAME
DATEPART
DAY
GETDATE
GETUTCDATE
ISDATE
MONTH
SYSDATETIME
YEAR
Функции расширений
CAST
COALESCE
CONVERT
CURRENT_USER
IIF
ISNULL
ISNUMERIC
NULLIF
SESSION_USER
SESSIONPROPERTY
SYSTEM_USER
USER_NAME

MS Access функции
Функции строк
Asc
Chr
Concat with &
CurDir
Format
InStr
InstrRev
LCase
Left
Len
LTrim
Mid
Replace
Right
RTrim
Space
Split
Str
StrComp
StrConv
StrReverse
Trim
UCase
Функции чисел
Abs
Atn
Avg
Cos
Count
Exp
Fix
Format
Int
Max
Min
Randomize
Rnd
Round
Sgn
Sqr
Sum
Val
Функции дат
Date
DateAdd
DateDiff
DatePart
DateSerial
DateValue
Day
Format
Hour
Minute
Month
MonthName
Now
Second
Time
TimeSerial
TimeValue
Weekday
WeekdayName
Year
Другие функции
CurrentUser
Environ
IsDate
IsNull
IsNumeric

SQL ОператорыSQL Типы данныхSQL Краткий справочник

mb_substr(), substr() и mb_strcut()

mb_substr(), substr() и mb_strcut() — еще несколько функций, похожих на те, которые я описал выше. Они отличаются только тем, как обрабатываются многобайтовые наборы символов (китайский язык и т.д.).

Если вы выводите PHP обрезанную часть строки до ближайшего слова на основе количества символов (но без конечного многоточия), используйте следующий код:

echo substr($string, 0, strrpos(substr( $string, 0, 35), ' '));
Изменив функцию, чтобы теперь в конце добавлялись многоточие, мы получим следующее:
/* 
	Усеченный до ближайшего слова текст, основываясь на количестве символов - substr() 
	http://php.net/manual/en/function.substr.php
*/

function internoetics_string_strrpos($string, $length = 137, $trimmarker = '...') {
  $len = strlen(trim($string));                             
  $newstring = ($len > $length) ? rtrim(substr($string, 0, strrpos(substr($string, 0, $length), ' '))) . $trimmarker : $string;
 return $newstring;
}

/* Использование */
echo internoetics_string_strrpos($string);

Нестандартные способы

Если не рассматривать весь спектр строчных функций языка, то пара функций explode()/implode() и функция str_replace() позволяют решать нестандартные задачи «резки» строчной информации.

Результат запроса MySQL всегда формален в структуре выдаваемой информации, а содержание полей (элементов) результата всегда определяется источником, то есть разработчиком, который проектировал базу данных.

Это частный пример, но точно отвечающий на вопрос: как в PHP обрезать строку, когда строк много. Функция trm() — частность, а ее история определена задачами, когда информации было не так много, а в потребности отрезать что-то кроме незначащих символов не было необходимости.

Сегодня информация циркулирует большими объемами и резать построчно не только нет необходимости, но и нерационально.

Разделение на составляющие — тоже вариант, как обрезать строку. PHP автоматически по explode() разрежет один большой текст на множество нужных строк. Применив функцию str_replace() - то есть заменив одно вхождение символов на другое - можно достичь подобного эффекта.

Динамика и объем информации, которую необходимо обработать — это прежде всего адекватное решение, а не применение одной специальной функции.

Обрезаем строку PHP: простые способы на News4Auto.ru.

Наша жизнь состоит из будничных мелочей, которые так или иначе влияют на наше самочувствие, настроение и продуктивность. Не выспался — болит голова; выпил кофе, чтобы поправить ситуацию и взбодриться — стал раздражительным. Предусмотреть всё очень хочется, но никак не получается. Да ещё и вокруг все, как заведённые, дают советы: глютен в хлебе — не подходи, убьёт; шоколадка в кармане — прямой путь к выпадению зубов. Мы собираем самые популярные вопросов о здоровье, питании, заболеваниях и даем на них ответы, которые позволят чуть лучше понимать, что полезно для здоровья.

Перегрузка/Overload строковых функций PHP mbstring-функциями с поддержкой многобайтных символов

Поскольку большинство приложений PHP написаны на языках, использующих
однобайтную кодировку символов, имеются некоторые трудности при работе с
многобайтными строками, в том числе с японскими. Большинство строковых PHP-функций,
таких как substr(), не поддерживают многобайтные строки.

Многобайтное расширение (mbstring) имеет строковые РНР-функции с
поддержкой многобайтных символов (например, substr() поддерживает
mb_substr()).

Многобайтное расширение (mbstring) также поддерживает ‘перегрузку функций’
для добавления функциональности многобайтных строк без модификации кода.
Используя перегрузку функций, некоторые строковые функции PHP будут перегружены многобайтными строковыми функциями.
Например, mb_substr() вызывается вместо
substr(), если перегрузка функций включена. Перегрузка функций облегчает перенос
приложений, поддерживая только однобайтные кодировки для многобайтных приложений.

mbstring.func_overload в php.ini должно иметь некоторое положительное значение для использования перегрузки функций.
Это значение должно специфицировать категорию перегружающей функции: 1
включает перегрузку функции mail; 2 — строковые функции, 4 — функции
регулярных выражений. Например, если установлена 7, mail, strings и regex
функции должны перегружаться. Список перегружаемых функций дан в таблице.

Таблица 1. Перегружаемые функции
значение mbstring.func_overload функция-оригинал перегруженная функция
1 mail() mb_send_mail()
2 strlen() mb_strlen()
2 strpos() mb_strpos()
2 strrpos() mb_strrpos()
2 substr() mb_substr()
4 ereg() mb_ereg()
4 eregi() mb_eregi()
4 ereg_replace() mb_ereg_replace()
4 eregi_replace() mb_eregi_replace()
4 split() mb_split()

preg_match()

Вы редко найдете тех, кто предпочитает использовать регулярные выражения, когда есть так много отличных функций PHP. Тем не менее, вот функция, которая обрезает строку до определенного символа в PHP, исходя из заданного количества знаков от начала. В отличие от других функций, описанных выше, эта функция обрезает строку до целого слова.

/* 
	preg-match() 
	http://php.net/manual/en/function.preg-match.php
*/

function internoetics_preg_string($string, $length, $trimmarker = '...') {
  $strlen = strlen($string);
  /* mb_substr добавляет принудительный разрыв в $length, если заданное количество символов не содержит окончания слова (пробела) */
  $string = trim(mb_substr($string, 0, $strlen));
  if ($strlen > $length) {
   preg_match('/^.{1,' . ($length - strlen($trimmarker)) . '}b/su', $string, $match);
   $string = trim($match) . $trimmarker;
    } else {
   $string = trim($string);
  }
 return $string;
}

/* Применение */
echo internoetics_preg_string($string, 100, $trimmarker = '...');

Описание функции

Функция принимает три параметра: $string, $length и $trimmarker (многоточие или другие символы, которые добавляются в конце строки).

Строка 7

$strlen = strlen($string);

Первое, что мы делаем, это проверяем длину PHP обрезанной строки после символа. Если строка короче, чем $length, то мы возвращаем эту строку.

Строка 9

$string = trim(mb_substr($string, 0, $strlen));

Функция mb_substr() прерывает строку в $length, если это количество символов не содержит окончания слова (пробела). Если мы передали строку длиною 500 символов и эта строка не содержит пробелов, то будет возвращена вся строка (так как функция preg_match не нашла окончания слова). На данный момент мы обрезаем строку таким образом, и возвращаем ее полностью.

Строки 10, 11, и 12

Если длина нашей строки превышает максимальную длину, определенную в качестве параметра функции, мы выполняем регулярное выражение функции preg_match(), чтобы вернуть часть строки до символа с номером $length, который определяется как конец слова (‘/^.{1,$length}b/s’). Знак периода означает любой символ, кроме символа новой строки (n). Фигурная скобка определяет диапазон, который задает, сколько символов должен PHP обрезать в строке. Таким образом {1,$length} означает от 1 до символа $length. Наконец, b означает, что шаблон будет соответствовать окончанию слова. Мы можем производить поиск только слов целиком по шаблону, который мы предоставили. И в конце s задает поиск всех пробелов.

Так как мы не хотим, чтобы возвращаемая строка превышала длину $length, максимальное количество символов в функции preg_match должно быть равно максимальной длине минус длина $trimmarke.r. Мы должны учитывать это.

Затем мы возвращаем либо усеченную строку, либо исходную строку, если она меньше заданной длины усечения.

wordwrap()

Использование wordwrap() — это еще один способ, с помощью которого можно в PHP обрезать строку до пробела, хотя он не очень эффективен и не является лучшим выбором (если только обстоятельства не требуют этого). Wordwrap оборачивает строку в заданное число символов с использованием символа разрыва строки. Применив функцию PHP explode(), мы можем построить массив из каждой строки текста. Мы определяем, нужен ли $trimmarker (конечное многоточие), запросив, пусто ли второе значение массива. Если пусто, то строка не оборачивается.

/* 
	wordwrap() 
	http://php.net/manual/en/function.wordwrap.php
*/

function internoetics_truncate_wordwrap($string, $length, $trimmarker = '...') {
  $lines = explode("n", wordwrap($string, $length - strlen($trimmarker), "n", true));
  $line = $lines;
  $result = ($lines != '') ? $line . $trimmarker : $line;
 return $result;
}

/* Использование */
echo internoetics_truncate_wordwrap($string, 120, $trimmarker = '...');

Определение для параметра cut значения true означает, что строка всегда оборачивается до или на указанном символе.

Поддерживаемые кодировки символов

В настоящее время модуль mbstring поддерживает нижеследующие кодировки символов. Кодировка символов может быть
специфицирована параметром encoding функций модуля mbstring.

Вот кодировки, поддерживаемые данным расширением PHP:

UCS-4, UCS-4BE,
UCS-4LE, UCS-2, UCS-2BE, UCS-2LE, UTF-32, UTF-32BE,
UTF-32LE, UCS-2LE, UTF-16, UTF-16BE, UTF-16LE, UTF-8,
UTF-7, ASCII, EUC-JP, SJIS, eucJP-win, SJIS-win,
ISO-2022-JP, JIS, ISO-8859-1, ISO-8859-2, ISO-8859-3,
ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8,
ISO-8859-9, ISO-8859-10, ISO-8859-13, ISO-8859-14, ISO-8859-15,
byte2be, byte2le, byte4be, byte4le, BASE64, 7bit,
8bit и UTF7-IMAP.

Вхождение в php.ini, принимающее имя кодировки,
принимает также «auto» и «pass«.mbstring функции, принимающие имя кодировки, принимают и
«auto«.

Если «pass» установлено, никакая конвертация кодировки символов не выполняется.

Если «auto» установлено, оно расширяется до «ASCII,JIS,UTF-8,EUC-JP,SJIS«.

См. также mb_detect_order()

Заключение

Мы могли бы написать еще сотни примеров PHP обрезки строк, но когда-то нужно остановиться. Функции, приведенные в этой статье, являются частью ядра PHP, и вы можете использовать их для усечения строк. Хотя чаще всего программисты стараются избегать регулярных выражений, если другого выхода нет, вы можете прибегнуть и к их помощи.

В ряде примеров мы вернули $trimmarker, представляющий собой многоточие. При необходимости вы можете вернуть HTML-объект Ellipsis, для этого используется код …. Но лично я предпочитаю многоточие.

Скачать примеры

Скачать примеры из этой статьи вы можете здесь.

Данная публикация является переводом статьи «Truncate (Shorten) Strings to the Nearest Whole Word or Character Count with Trailing Dots using PHP Functions» , подготовленная редакцией проекта.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector