logo search
Vvedenie_v_Veb_programmirovanien_2 / Vvedenie_v_Veb_programmirovanien_2

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

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

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

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

В частности, эта функция позволяет предотвратить ввод пользователями опасных символов в форумах. Следующий пример демонстрирует удаление потенциально опасных символов функцией 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;

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

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

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

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

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

echo htmlentities($str, 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

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