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



>echo $word , "
";

>$pure_str = substr($word, 3, -4);

>/* выделяем подстроку,

> начиная с 3-го символа,

> не включая 4 символа с конца строки */

>echo $pure_str;

>?>



В результате работы этого скрипта получим:


>Hello, world!

>Hello, world!



На самом деле решить такую задачу можно гораздо проще, с помощью функции strip_tags:


>strip_tags (строка [, допустимые теги])


Эта функция возвращает строку, из которой удалены все html и php-теги. С помощью дополнительного аргумента можно задать теги, которые не будут удалены из строки. Список из нескольких тегов вводится без каких-либо знаков разделителей. Функция выдает предупреждение, если встречает неправильные или неполные теги.


>

>$string = "Bold text

> Italic text";

>$str = strip_tags($string);

> // удаляем все теги из строки

>$str1 = strip_tags($string, '');

> // удаляем все теги кроме тега

>$str2 = strip_tags($string, '');

> // удаляем все теги кроме тегов и

>echo $str,"
",$str1,"
", $str2;

>?>



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


>Bold text Italic text

>Bold text Italic text

>Bold text Italic text



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


>

>$text = "Привет! Сегодня мы изучаем работу

> со строками. Автор.";

>$no_hello = substr($text, 8);

> // убираем приветствие

>$content = substr($text, 8, 39);

> // то же самое, что substr($text, 8, -6).

> // Убираем подпись.

>echo $text, "
", $no_hello,

> "
", $content;

>?>



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


>Привет! Сегодня мы изучаем работу

> со строками. Автор.

>Сегодня мы изучаем работу со строками. Автор.

>Сегодня мы изучаем работу со строками.



Если нам нужно получить один конкретный символ из строки, зная его порядковый номер, то не следует задействовать функции типа substr. Можно воспользоваться более простым синтаксисом – записывая номер символа в фигурных скобках после имени строковой переменной. В контексте предыдущего примера букву «р», расположенную второй по счету, можно получить так:


>echo $text{1}; // выведет символ "р"


Заметим, что номером этого символа является число один, а не два, так как нумерация символов строки производится начиная с нуля.


Раз уж мы начали говорить о символах в строке и их нумерации, то невольно возникает вопрос, сколько всего символов в строке и как это вычислить. Число символов в строке – это длина строки. Вычислить длину строки можно с помощью функции strlen (строка). Например, длина строки «Разработка информационной модели» вычисляется с помощью команды: strlen("Разработка информационной модели"); и равна 32 символам.