Изучаем функции PHP для работы со строками. Часть 1

работа со строками

От автора: в этой статье мы рассмотрим основные функции PHP для работы со строками.

Т.к. практически все CMS (может Ваши самописные или чьи-то типа free) работают с базами данных, то нам предстоит вплотную работать со строковыми переменными. Возможно, нужно будет где-то заменить определенный участок текста на другой текст. Или вставить в середине (в начала или в конце) какой-то статьи определенный тест.

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


Для начала мы изучим простой поиск и замену в строке.

Функция 1

Есть такая простая php функция substr_count(), которая считает количество подстрок в строке. Например, есть такая строка: «бетон и железобетон», наша цель найти кол-во подстрок «бетон». Функция вернет значение 2 (ибо найдет 2 подстроки, выделенные жирным шрифтом).

Пример:

работа со строками

Функция 2

Такая же по сложности php функция str_replace() — операция замена одного слова (или нескольких слов, или даже предложений) на другое.

Пример:

работа со строками

Функция 3

Вдруг нам нужно будет выделить в строке несколько символов подряд ,например, со второго по десятый символ в строке. В этом нам поможет php функция substr().

работа со строками

Замечание: функция неадекватно работает с кодировкой файла в UTF8.

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

Пример: выберем слово «охоты»:

Функция 4

Любую строку можно экспортировать (превратить) в массив, элементами которого могут быть как слова, так и предложения. Для этого в php существует функция explode().

Рассмотрим несколько примеров:

a) Разобьем строку по словам.

’;
?>

работа со строками

б) По предложениям

’;
?>

работа со строками

Так же это пункт статьи имеет обратную операцию. Из массива образовать строку. Допустим, мы имеем массив вида:

1-й элемент: Hello

2-й: «пробел»

3-й: World

…при помощи функции implode() массив преобразуется в строку такого вида: «Hello World», где 2-й элемент массива есть пробелом между словами Hello и World.

Рассмотрим расширенный вариант предыдущего примера:

’;
echo ‘
‘;
$string = implode(‘. ‘, $wordsArray);
echo ‘обратно склеенная строка: ‘.$string.’
‘;
?>

работа со строками

Функция 5

Допустим, мы имеем строку, в которой с определенного символа
(включительно) и до конца строки нужно извлечь текст. Например, мы
имеем строку «//www.webformyself.com/», а нам нужно извлечь из нее
только «www.webformyself.com/». Смотрим, как это можно реализовать. Для этого нам понадобится функция strstr().

Замечание: с этой функцией можно далеко не такие простые вещи делать.

Функция 6

Функция strpos() находит позицию первого вхождения строки и
возвращает число (номер позиции в строке).

Пример:

strrpos() находит позицию последнего вхождения строки.

Вот и закончился мой основной джентльменский набор функций по работе со строками. Ждите вторую часть с более сложными примерами. Этих же функций в комплексном применении + несколько новых 🙂

Бонус

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

’;
?>

работа со строками

Попробуйте сами разобрать каждую строчку кода.

Заключение

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

Читайте в следующей статье на эту тему о комплексном применении и новых функциях.

киберсант-вебмастер

Автор: Влад Паук

Редакция: Рог Виктор и Андрей Бернацкий. Команда webformyself.

E-mail: contact@webformyself.com

Проект webformyself.com — Как создать свой сайт. Основы самостоятельного сайтостроения

P.S. Хотите опубликовать интересный тематический материал и заработать? Если ответ «Да», то жмите сюда.

Метки: , ,

Похожие статьи:

Комментарии Вконтакте:

Комментарии (33)