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




>

>$greeting = array("Привет", "Привет всем!",

> "Привет, дорогая!", "Здравствуйте",

> "Здравствуйте, товарищи");

> // объект

>$search = array ("Привет","Здравствуйте");

> // значения, которые будем заменять

>$replace = "День добрый";

> // значение, которым будем заменять

>$new_greet = str_replace($search,

> $replace, $greeting); // делаем замену

>print_r($new_greet);

> //выводим полученный массив

>?>



Получим:


>Array (

>[0] => День добрый

>[1] => День добрый всем!

>[2] => День добрый, дорогая!

>[3] => День добрый

>[4] => День добрый, товарищи

>)



Функция str_replace() чувствительна к регистру, но существует ее регистронезависимый аналог – функция str_ireplace(). Однако эта функция поддерживается не во всех версиях PHP.


Еще один пример использования функции str_replace() – обработка шаблонов.


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


>

Введите описание статьи

>

>

>

>

>

>

>

>

Название

> type=text name=title >

Краткое содержание

> type=text name=description >

Автор

> type=text name=author >

Дата публикации

> type=text name=published >

Шаблон документа

> name=shablon >

>

>



Однако просто поля для ввода шаблона недостаточно. Один человек введет в него одно, другой – другое. Нужно договориться о том, как создавать шаблоны, что можно в них использовать, т.е. нужно придумать язык шаблонов. Например, мы договариваемся, что при создании шаблона можно задействовать любые html-теги, а набор спецсимволов вида определяет значение элемента с именем имя_элемента. Далее, как обрабатывать такого рода шаблоны? Можно использовать функцию str_replace():


>

>$tmpl = $_GET["shablon"];

>/* шаблон, введенный пользователем.

>Например, это может быть такая строка:

>"

>size=-1>

>align=right>

" */