Функция htmlentities () vs htmlspecialchars () в PHP

Опубликовано: 4 Февраля, 2022

Функция htmlentities ()

Функция htmlentities () - это встроенная функция в PHP, которая используется для преобразования всех символов, применимых к объектам HTML. Эта функция преобразует все символы, применимые к объекту HTML.

Синтаксис

 строка htmlentities ($ строка, $ флаги, $ кодировка, $ double_encode)

Параметры: эта функция принимает четыре параметра, как указано выше и описано ниже:

  • $ string: этот параметр используется для хранения входной строки.
  • $ flags: этот параметр используется для хранения флагов. Это комбинация одного или двух флагов, которая сообщает, как обрабатывать кавычки.
  • $ encoding: это необязательный аргумент, указывающий кодировку, которая используется при преобразовании символов. Если кодировка не указана, она преобразуется в соответствии с версией PHP по умолчанию.
  • $ double_encode: если double_encode отключен, PHP не будет кодировать существующие объекты HTML. По умолчанию все конвертируется.

Возвращаемые значения: эта функция возвращает закодированную строку.

Example:

<?php
  
// String convertable to htmlentities 
$str = "<a href="https://www.geeksforgeeks.org">GeeksforGeeks</a>";
  
// It will convert htmlentities and print them
echo htmlentities( $str );
?>
Output:
&lt;a href=&quot;https://www.geeksforgeeks.org&quot;&gt;GeeksforGeeks&lt;/a&gt;

Функция htmlspecialchars ()

Функция htmlspecialchars () - это встроенная функция в PHP, которая используется для преобразования всех предопределенных символов в объекты HTML.

Синтаксис:

 строка htmlspecialchars ($ строка, $ флаги, $ кодировка, $ double_encode)
  • $ string: этот параметр используется для хранения входной строки.
  • $ flags: этот параметр используется для хранения флагов. Это комбинация одного или двух флагов, которая сообщает, как обрабатывать кавычки.
  • $ encoding: это необязательный аргумент, указывающий кодировку, которая используется при преобразовании символов. Если кодировка не указана, она преобразуется в соответствии с версией PHP по умолчанию.
  • $ double_encode: если double_encode отключен, PHP не будет кодировать существующие объекты HTML. По умолчанию все конвертируется.

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

Example:

<?php
  
// Example of htmlspecialchars() function
  
// String to be converted
$str = ""geeksforgeeks.org" Go to GeeksforGeeks";
  
// Converts double and single quotes
echo htmlspecialchars($str, ENT_QUOTES); 
?>
Output:
&quot;geeksforgeeks.org&quot; Go to GeeksforGeeks

Разница между функциями htmlentities () и htmlspecialchars (): Единственная разница между этими функциями:

  • Функция htmlspecialchars () преобразует специальные символы в объекты HTML.
  • Функция htmlentities () преобразует все применимые символы в объекты HTML.