Язык
Контакты
GitHub
Поддержка
Регистрация
Войти
Логин: Пароль: Запомнить:
Пользователи
Голосование

    Какую CMS Вы предпочитаете

    AtomX
    Fapos CMS
    Drunya CMS
Последние комментарии
Топ пользователей
Drunya
Репутация: 110
Сообщений: 3527
Сашка_из_Шебекино
Репутация: 87
Сообщений: 1803
boriska
Репутация: 65
Сообщений: 846
ARMI
Репутация: 46
Сообщений: 1858
BAH0
Репутация: 26
Сообщений: 544
В PHP есть очень широкий набор функций для работы со строками. Я решил написать эту заметку как напоминание самому себе и другим она тоже окажется полезной. Здесь я опишу самые часто используемые функции для работы со строками в PHP.


Обрезание строк
 1 
 2 
<?php substr('строка'02);?>
Первый параметр - это строка, которую мы будем резать. Второй параметр - это позиция с которой мы начнем срез, а третий параметр - это количество символов, которое мы отрежим. То есть в данном примере функция вернет нам строку "ст".
Эта функция не корректно работает с юникодом. Для работы с UTF-8 используйте mb_subsr().

 1 
 2 
<?php mb_substr($str7mb_strlen($str));?>
Это пример как отрезать участок, начиная с любой позиции и до самого конца строки.
Функция strlen(), так же имеет аналог для работы с UTF-8 - mb_strlen().


Поиск в строках
 1 
 2 
<?php strpos('строка''р');?>
Функция strpos() возвращает позицию первого вхождения строки из второго параметра в строку из первого параметра. То есть данный пример вернет 2.


 1 
 2 
<?php strstr('строка''р');?>
Эта функция похожа на предыдущую, но в отличии от нее, она возвращает не позицию первого вхождения подстроки а участок начиная с этой позиции. То есть данный пример вернет "рока".

А как же быть, если нам надо произвести такую операцию, но вернуть участок начиная не с первого вхождения подстроки, а последнего? Не проблема, в PHP для этого есть функция:
 1 
 2 
<?php strrchr('строка сорока''р');?>
Данный пример вернет только "рока", а не "рока сорока", как произошло бы с функцией strstr().


Заморочки с регистром
Бывают случаи когда надо перевести строку в нижний/верхний регистр. Так вот в PHP это совсем не проблема.
 1 
 2 
<?php strtolower('CnHjRf');?>
Функция strtolower() преобразует символы в нижний регистр. Данный пример вернет "cnhjrf".

Вот противоположный пример
 1 
 2 
<?php strtoupper('CnHjRf');?>
Вернет "CNHJRF".

Но и это еще не все. Бывают случаи, когда нам надо сделать заглавной только первую букву, как например при написании имя или названия города. И PHP был бы не PHP если бы не умел такого:
 1 
 2 
<?php ucfirst('роман');?>
Вернет "Роман".

А вот аналог этой функции, который преобразует в заглавные все первые буквы в каждом слове:
 1 
 2 
<?php ucwords('рома тома');?>
Вернет "Рома Тома".

Как видите, в PHP есть куча функций для тех кто жил далеко от школы;)
Автор: Drunya
Категория: PHP
Просмотров: 3633
Комментариев: 0

Сейчас online: 53. Зарегистрированных: 1. Гостей: 52.
-->