Язык программирования PHP | страница 72




>

>$str = "Автор: Иванов Иван (

>href=mailto:van@mail.ru>написать письмо),

> Название: 'Исследование языков

> программирования' ";

>echo "Исходная строка: ",$str;

>if (!strstr($str, "Название"))

> echo "Строка не найдена
";

>else echo "

Полученная подстрока: ",

> strstr($str, "Название");

>?>



В результате получим:


>Исходная строка: Автор: Иванов Иван

> (написать письмо),

> Название: 'Исследование языков

> программирования'

>Полученная подстрока: Название:

> 'Исследование языков программирования'



Для реализации регистронезависимого поиска подстроки существует соответствующий аналог этой функции – функция stristr (исходная строка, искомая строка). Действует и используется она точно так же, как и strstr(), за исключением того, что регистр, в котором записаны символы искомой строки, не играет роли при поиске.


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


Функция substr


Иногда мы не знаем, с каких символов начинается искомая строка, но знаем, например, что начинается она с пятого символа и заканчивается за два символа до конца исходной строки. Как выделить подстроку по такому описанию? Очень просто, с помощью функции substr(). Ее синтаксис можно записать следующим образом:


>substr (исходная строка,

> позиция начального символа [, длина])


Эта функция возвращает часть строки длиной, заданной параметром длина, начиная с символа, указанного параметром позиция начального символа. Позиция, с которой начинается выделяемая подстрока, может быть как положительным целым числом, так и отрицательным. В последнем случае отсчет элементов производится с конца строки. Если параметр длина опущен, то substr() возвращает подстроку от указанного символа и до конца исходной строки. Длина выделяемой подстроки тоже может быть задана отрицательным числом. Это означает, что указанное число символов отбрасывается с конца строки.


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


>

>$word = "Hello, world!";