Функции PHP для работы со строками (substr, str_replace, strpos и др.)

« Предыдущая запись
 
  Следующая запись »
 

Всем добрый день/вечер/ночь/утро (нужное подчеркнуть)! Сегодня я решил поделиться с вами одной полезной вещью, связанной со строковыми функциями в PHP. Не знаю как вы, а я до сих пор путаю, что делает substr, а что strstr, а что strchr. И вот хоть ты тресни, кроме нескольких функций, все перемешались в голове.

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

Во-первых, там была лишь некоторая часть функций работы со строками, в которых были рассмотрены только по одному базовому примеру. Во-вторых книжка всегда была дома, носить её куда-то - был полный дискомфорт, не говоря о том, что из 400-500 страниц нужными были только 3-4.

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

Фрагмент таблицы предлагаю глянуть чуть ниже, чтобы было ясно о чём речь.

Функции substr, str_replace, strpos, strlen, strstr, strtolower, stripslashes, strrpos и др.

 

Функция

Краткое описание

Пример

Результат примера

substr

substr (строка, число [, длина] )

Возвращает часть строки, начинающейся с символа число и количеством символов длина.

substr("Текстовая строка", 1, 3);

substr("Текстовая строка", -10, 3);

substr("Текстовая строка", 9, -3);

екс

вая

стр

str_replace

str_replace (строка1, строка2, строка [, число ])

Заменяет в строке все вхождения строка1 на строка2. Начиная с PHP5 можно задавать число замен.

str_replace ("%div_name%", "new_id", "<div id='%div_name%'>");

str_replace ( array("Есть", "хорошо"), array("Пить", "плохо"), 'Есть – это хорошо');

<div id="new_id">

Пить – это плохо

strpos

strpos (строка1, строка2 [, число ])

Возвращает позицию первого вхождения строка2 в строка1. Числом можно задавать номер символа, с которого начинать поиск

strpos("Текстовая строка", "строка");

10

strlen

strlen (строка)

Возвращает длину строки

strlen("Текстовая строка");

16

strstr

strstr (строка1, строка2)

Возвращает часть строки1 начиная с первого вхождения строки2 до конца строки1.

strstr("Текстовая строка", "ст");

стовая строка

strtolower

strtolower (строка)

Переводит все символы строки в нижний регистр

strtolower("Текстовая СТРОКА");

текстовая строка

stripslashes

stripslashes (строка)

Удаляет экранирование символов

stripslashes("\'Текст\\текст");

'Текст\текст

strrpos

strrpos (строка1, строка2 [, число ])

Возвращает позицию последнего вхождения строка2 в строка1. Если строка не найдена, то возвращено будет false. Числом можно задавать номер символа, с которого начинать поиск

strrpos("Текстовая строка", "ст");

10

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

   

 

 

И напоследок кину Вам обоинку широкоформатную с Ford Mustang Shelby GT Convertible. Уж не знаю как Вы, а я обожаю мустангов=).

ford mustang shelby gt convertible thumb Функции PHP для работы со строками (substr, str replace, strpos и др.)

,

1 звезда2 звезд3 звезд4 звезд5 звезд (голосов: 5, средний: 4.20 из 5)
Понравилась статья или журнал? Подписывайся на продолжение!
Отзывов: 19 на запись

"Функции PHP для работы со строками (substr, str_replace, strpos и др.)"

  1. Функции работы со строками кстати вызывают больше всего вопросов именно у новичков. К тому же у большинства проблемы с английским, так что здорово, что перевел.

    p.s. такой же мустанг, только на кбарио давно стоит на заствке – есть в них что-то

  2. Спасибо! Хотя в переводе особой заслуги нет, так как в интернете есть сайты с русскоязычными описаниями функций. Я ими руководствовался, но в большинстве случаев переписывал описание, чтобы оно было более понятно, а то иногда без пол литра не разобрать, что они хотели =)

    дааа, хорошие машины. да и Генри Форд мировой мужик был.

  3. Дмитрий
    22/06/2010 at 20:49 Постоянная ссылка Цитировать

    Ух ты мануал)))

  4. Да =)

  5. Дмитрий
    23/06/2010 at 9:18 Постоянная ссылка Цитировать

    Александр, над более серьёзными проектами не задумывались? )

  6. А я ими и занимаюсь, а блог это так, отдушина =)

  7. Дмитрий
    23/06/2010 at 17:03 Постоянная ссылка Цитировать

    Понимаю, а если не военная тайна, то какими проектами занимаетесь?

  8. в целом не секрет. сейчас на мне два интернет-магазина, один интересный проект по компьютерам (пока не могу сказать что там да как), один портал по футболу, и ещё пара небольших сайтов, это фиг с ними.
    постоянных долгоиграющих проектов в сети не имею и не хочу – у меня на них просто нет времени.

  9. Клёва, конечно, но всё это бесполезно перед UTF-8.

  10. интересно было бы узнать, почему вы так считаете?

  11. По научному, чтоб не было лишних вопросов, стандартные функции работы со строками не работают с символами, они работают с байтами. А теперь делаем вывод, что, например, отдаст strlen(‘Привет мир’) для UTF-8? Правильно – 19, а не 10 как ожидалось.

  12. хмм, любопытно. иногда приходится пользоваться функциями, но ни разу с проблемами такого типа не сталкивался. хотя, можно в скопе использовать mb_convert_encoding

  13. Для тех стандартных функций, которые имеют аналоги в расширении mbstring можно настроить mbstring.func_overload и тогда вызов, например, strlen() будет переадресован на mb_strlen(), видимо поэтому вы не испытывали проблем при работе с UTF-8, либо просто не использовались двухбайтовые кодировке и всё обходилось работой с устаревшей windows-1251(koi8-r).

  14. скорее всего на сервере был включен mbstring.func_overload, т.к. уже пару лет с 1251 лично сам дел не имею (кроме тех случаев, когда работаю над чем-то сделанным и оно в нём).
    спасибо за просвещение! =)

  15. Всегда пожалуйста :)

  16. я не могу молчать, как же красиво таки сверстано тут у вас все…=)

  17. Александр Шуйский
    12/10/2012 at 10:36 Постоянная ссылка Цитировать

    Спасибо на добром слове =)

  18. Спасибо! Сайт в закладочки, очень полезны такие таблицы в качестве шпоргалок, ждем еще!

  19. Александр Шуйский
    03/04/2016 at 8:46 Постоянная ссылка Цитировать

    Спасибо большое за отзыв. Но, увы, шанс того, что блог будет развиваться дальше, минимален (

Добро пожаловать, коллега! Вы можете оставить свой отзыв:





Допустимые XHTML-теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Подписка на комментарии