Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Веб программирование.Начало пути.doc
Скачиваний:
0
Добавлен:
04.01.2020
Размер:
7.81 Mб
Скачать

Преобразование строк и файлов к формату html и наоборот

Функция nl2br( ) заменяет все символы новой строки (\n) эквивалентными конструкциями HTML <br>. Синтаксис функции: string nl2br (string $strike)

Функция htmlentities( ) преобразует символы в эквивалентные конструкции HTML. Синтаксис функции: string htmlentities (string $strike )

Функция string htmlspecialchars (string $strike ) заменяет некоторые символы, имеющие особый смысл в контексте HTML, эквивалентными конструкциями HTML. Функция htmlspecialchars( ) преобразует следующие символы: & преобразуется в & " " преобразуется в " < преобразуется в < > преобразуется в >.

В частности, эта функция позволяет предотвратить ввод пользователями опасных символов в форумах. Следующий пример демонстрирует удаление потенциально опасных символов функцией htmlspeclalchars( ):

<?php //str14.php

$text= " Мишка косолапый

По лесу идет ";

print $text;

// Преобразовать символы новой строки "\n" в <br>

$htinl = nl2br($text);

print $htinl;

$input = "The cookbook, entitled Cafe Francaise' costs < $42.25.";

echo "input:", $input;

$conv = htmlentities($input);

// $conv = "The cookbook, entitled 'Cafè

// Frac&ccediliaise' costs < 42.25.";

echo "<br> conv:",$conv;

$strike = "A 'quote' is <b>bold</b>";

echo "<br>strike:", $strike,"<br>";

// Outputs: A 'quote' is <b>bold</b>

echo htmlentities($strike),"<br>";

// Outputs: A 'quote' is <b>bold</b>

echo htmlentities($strike, ENT_QUOTES);

//Функция htmlspecialchars( ) преобразует следующие символы:

//& преобразуется в & " " в " < преобразуется в < > в >.

// удаление потенциально опасных символов функцией htmlspeclalchars( ):

$input = "I just can't get of PHP & those fabulous cooking recipes!";

echo "<br>input:", $input;

$conv = htmlspecialchars($input);

// $conv_input = "I just can't <<enough>> of PHP &amp those fabulous cooking recipes!"

echo "<br> conv:",$conv;

?>

Если функция htmlspecialchars( ) используется в сочетании с nl2br( ), то последнюю следует вызывать после htmlspecialchars( ). В противном случае конструкции <br>, сгенерированные при вызове nl2br( ), преобразуются в видимые символы.

Функция string get_html_translation_table (int таблица) обеспечивает удобные средства преобразования текста в эквиваленты HTML. Функция возвращает одну из двух таблиц преобразования, определяемых параметром таблица, и используемых в работе стандартных функций htmlspecialchars( ) и htmlentities( ). Параметр таблица принимает одно из двух значений: HTML_ENTITIES или HTML_SPECIALCHARS.

В примере функция используется при преобразовании текста в код HTML:

$string = "La pasta e il piatto piu amato in Italia";

$translate = get_html_translation_table(HTML_ENTITIES);

print strtr($string, $translate);

// Специальные символы преобразуются в конструкции HTML

// и правильно отображаются в браузере.

Преобразование html в простой текст

Функция string strip_tags (string строка [, string разрешенные_тeги]), удаляет из строки все теги HTML и РНР. Используется для удаления опасных символов из сообщений на форумах или в гостевых книгах.

Функция get_meta_tags( ) предназначена для поиска в файле HTML тегов МЕТА. Синтаксис функции:

array get_meta_tags (string имя_файла/URL [, int включение_пути])

Применение тегов МЕТА:

<html>

<head>

<title>PHP Recipes</title>

<meta name="keywords" content="gourmet. PHP, food. code, recipes, chef, programming, web">

<meta name="description" content="PHP Recipes provides savvy readers with the latest in PHP programming and gourmet cuisine!">

<meta name="author" content="WJ Gilmore">

</head>

Функция get_meta_tags( ) ищет в заголовке документа теги, начинающиеся словом МЕТА, и сохраняет имена тегов и их содержимое в ассоциативном массиве. Ниже продемонстрировано применение этой функции к файлу example.html.

<?php>

$meta_tags = get_meta_tags("example.html");

print_r $meta_tags;

?>

// Переменная $meta_tags содержит массив со следующей информацией:

// $meta_tags["keywords"] = "gourmet. PHP. food. code, recipes, chef, programming. //Web":

// $meta_tags["description"] = "PHP Recipes provides savvy readers with the latest in PHP

programming and gourmet cuisine";

// $meta_tags["author"] = "WJ Gilmore";

Данные тегов МЕТА можно извлекать не только из файлов, находящихся на сервере, но и из других URL.