Новини високих технологій
» » Обрізаємо рядок PHP: прості способи

Обрізаємо рядок PHP: прості способи

15-02-2018, 11:26
935
Адаптивна верстка сайту передбачає адекватне зміна його сторінок в залежності від пристрою, який використовує відвідувач. Якщо стосовно блокових і рядкових елементів майже все піддається автоматизації» засобами CSS і jаvascript, то при формуванні контенту і використанні баз даних без серверної сторони важко обійтися. Зазвичай обрізаємо рядок на PHP, коли елемент HTML верстки має обмеження на кількість символів, які видимі, але це приватна завдання.

Традиційне рішення

Одна із самих популярних і часто використовуваних функцій - substr(). У неї передається два або три параметра: вихідна рядок; позиція початку ($iPos); довжина вирізаючої підрядка ($iLen). Останній параметр можна не вказувати. Якщо вказано лише два параметри: результатом substr() буде підрядок, від позиції початку ($iPos) до кінця вихідної рядки. Якщо було передано три параметра, то обрізаємо рядок PHP від позиції початку ($iPos) до зазначеної довжини ($iLen).
Вибрати тільки початок рядка за допомогою цієї функції можливо, коли перший параметр дорівнює нулю. Якщо вихідна позиція негативна, то початком, з якого обрізаємо рядок, PHP буде вважати символ в позиції $iPos від кінця рядка. Нумерація символів в рядку здійснюється з нуля.

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

Завдання «обрізаємо рядок» PHP розглядає (в широкому розумінні) в контексті: з обох сторін. Історично - це функція trim(), яка має на меті видалити незначущі символи:


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

Істотно, що символи видаляються тільки з початку і з кінця вихідної рядки. Важливо, що маніпулюючи масками видаляються символів і послідовністю підзадач. Спочатку обрізаємо рядок на PHP по одній масці. Потім по іншій. Потім по третій. В результаті послідовності варіантів застосування однієї функції обрізаємо текст на PHP так, як це потрібно для рішення поставленої задачі.

Нестандартні способи

Якщо не розглядати весь спектр рядкових функцій мови, то пара функцій explode()/implode() і функція str_replace() дозволяють вирішувати нестандартні задачі «різання» рядкової інформації.
Результат запиту MySQL завжди формальний у структурі видаваної інформації, а зміст полів (елементів) результату завжди визначається джерелом, тобто розробником, який проектував базу даних. Це окремий приклад, але точно відповідає на питання: як в PHP обрізати рядок, коли рядків багато. Функція trm() - частковість, а її історія визначена завданнями, коли інформації було не так багато, а в потребі відрізати щось крім незначущих символів не було необхідності. Сьогодні інформація циркулює великими обсягами і різати порядково не тільки немає необхідності, але й нераціонально. Поділ на складові - теж варіант, як обрізати рядок. PHP автоматично за explode() розріже один великий текст на безліч потрібних рядків. Застосувавши функцію str_replace() - тобто замінивши одне входження символів на інше - можна досягти подібного ефекту.
Динаміка і обсяг інформації, яку необхідно обробити - це насамперед адекватне рішення, а не застосування однієї спеціальної функції.
Цікаво по темі
Функція strpos в PHP: визначення позиції підрядка
Функція strpos в PHP: визначення позиції підрядка
Пошук входження підрядка в рядок за допомогою функції PHP strpos(). Типи вхідних і вихідних параметрів, приклади і тонкощі використання. Схожі
PHP sprintf: форматування та обробка рядків
PHP sprintf: форматування та обробка рядків
Функція PHP sprintf дозволяє оформити рядок даних для візуального відображення або подальшої обробки, перетворити число в шістнадцяткову, вісімкову
Пошук рядка в рядку PHP: опис можливостей
Пошук рядка в рядку PHP: опис можливостей
Для прийняття правильного рішення необхідно точно визначити зміст отриманої інформації. Звичайне застосування функцій пошуку рядків - не єдине
Використання функції trim (PHP)
Використання функції trim (PHP)
Використовується кодування символів має важливе значення. В будь-якому кодуванні є код символу, є його семантика для програміста і користувача.
Обробка символів: метод JavaScript substring()
Обробка символів: метод JavaScript substring()
Операції над рядками символів є важливою складовою алгоритмів на jаvascript. Їх використання через методи рядків не викликає труднощів, але
Математика від JavaScript Math
Математика від JavaScript Math
Об'єкт Math мови jаvascript реалізує практичний набір математичних функцій. Складні розрахунки можна виконувати всередині браузера, не