svn: /phpdoc/bg/trunk/reference/strings/functions/ htmlentities.xml

[email protected] (Stanislav Yordanov) Thu, 31 Mar 2016 09:02:23 +0000
Newsgroups php.doc.bg
Message-ID <[email protected]>
stanprog                                 Thu, 31 Mar 2016 09:02:23 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=338854

Log:
sync to EN

Changed paths:
    U   phpdoc/bg/trunk/reference/strings/functions/htmlentities.xml
svn-diffs-338854.txt (text/x-diff, 10.3 KB)
Modified: phpdoc/bg/trunk/reference/strings/functions/htmlentities.xml
===================================================================
--- phpdoc/bg/trunk/reference/strings/functions/htmlentities.xml	2016-03-30 18:53:29 UTC (rev 338853)
+++ phpdoc/bg/trunk/reference/strings/functions/htmlentities.xml	2016-03-31 09:02:23 UTC (rev 338854)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 297028 Maintainer: stanprog Status: ready -->
-<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.htmlentities">
+<!-- EN-Revision: 334627 Maintainer: stanprog Status: ready -->
+<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.htmlentities" xmlns:xlink="http://www.w3.org/1999/xlink">
  <refnamediv>
   <refname>htmlentities</refname>
   <refpurpose>Преобразува всички подходящи знаци в HTML единици</refpurpose>
@@ -12,15 +12,14 @@
   <methodsynopsis>
    <type>string</type><methodname>htmlentities</methodname>
    <methodparam><type>string</type><parameter>string</parameter></methodparam>
-   <methodparam choice="opt"><type>int</type><parameter>quote_style</parameter><initializer>ENT_COMPAT</initializer></methodparam>
-   <methodparam choice="opt"><type>string</type><parameter>charset</parameter></methodparam>
+   <methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer>ENT_COMPAT | ENT_HTML401</initializer></methodparam>
+   <methodparam choice="opt"><type>string</type><parameter>encoding</parameter><initializer>ini_get("default_charset")</initializer></methodparam>
    <methodparam choice="opt"><type>bool</type><parameter>double_encode</parameter><initializer>true</initializer></methodparam>
   </methodsynopsis>
   <para>
    Функцията е идентична на <function>htmlspecialchars</function>
    във всяко едно отношение, с изключение на това, че с <function>htmlentities</function>
-   всички знаци, които имат съответстващи HTML единици, биват преобразувани в тези
-   единици.
+   всички знаци, които имат съответстващи HTML единици, биват преобразувани в тези единици.
   </para>
   <para>
    Ако искате да изпълните обратната операция, можете да използвате
@@ -41,15 +40,14 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><parameter>quote_style</parameter></term>
+     <term><parameter>flags</parameter></term>
      <listitem>
       <para>
-       Също както <function>htmlspecialchars</function>, незадължителният втори
-       параметър <parameter>quote_style</parameter> указва как функцията да
-       преобразува единичните и двойните кавички. Може да приеме като стойност
-       една от трите константи, като по подразбиране е <constant>ENT_COMPAT</constant>:
+       Побитова маска на един или повече от следните флагове, която указва как се да се обработят кавичките,
+       невалидните кодови последователности и използвания туп на документа. Стойността по подразбиране е
+       <literal>ENT_COMPAT | ENT_HTML401</literal>.
        <table>
-        <title>Допустими <parameter>quote_style</parameter> константи</title>
+        <title>Допустими <parameter>flags</parameter> константи</title>
         <tgroup cols="2">
          <thead>
           <row>
@@ -70,6 +68,55 @@
            <entry><constant>ENT_NOQUOTES</constant></entry>
            <entry>Оставя и двойните и единичните кавички без изменение.</entry>
           </row>
+          <row>
+           <entry><constant>ENT_IGNORE</constant></entry>
+           <entry>
+            Тихо отхвърля невалидните кодови последователности, вместо да връща
+            празен низ. Употребата на този флаг не се препоръчва тъй като
+            <link xlink:href="&url.delete.nonchars;">може да внесе уязвимости в кода</link>.
+           </entry>
+          </row>
+          <row>
+           <entry><constant>ENT_SUBSTITUTE</constant></entry>
+           <entry>
+            Заменя невалидните кодови последователности с Уникод
+            U+FFFD (при UTF-8) или &amp;#FFFD; (при използване на друго кодиране), вместо да връща празен низ.
+           </entry>
+          </row>
+          <row>
+           <entry><constant>ENT_DISALLOWED</constant></entry>
+           <entry>
+            Заменя неверните кодове на символи за зададен тип на документа с
+            Уникод U+FFFD (при UTF-8) или &amp;#FFFD; (при използване на друго кодиране),
+            вместо да ги оставя както са си. Това може да е полезно, например
+            за осигуряване на добре форамтирани XML документи с
+            вградено външно съдържание.
+           </entry>
+          </row>
+          <row>
+           <entry><constant>ENT_HTML401</constant></entry>
+           <entry>
+            Обработва кода като HTML 4.01.
+           </entry>
+          </row>
+          <row>
+           <entry><constant>ENT_XML1</constant></entry>
+           <entry>
+            Обработва кода като XML 1.
+           </entry>
+          </row>
+          <row>
+           <entry><constant>ENT_XHTML</constant></entry>
+           <entry>
+            Обработва кода като XHTML.
+           </entry>
+          </row>
+          <row>
+           <entry><constant>ENT_HTML5</constant></entry>
+           <entry>
+            Обработва кода като HTML 5.
+           </entry>
+          </row>
          </tbody>
         </tgroup>
        </table>
@@ -77,15 +124,9 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><parameter>charset</parameter></term>
+     <term><parameter>encoding</parameter></term>
      <listitem>
-      <para>
-       Също както <function>htmlspecialchars</function>, незадължителният трети
-       аргумент <parameter>charset</parameter> указва набора от знаци
-       който се използва при преобразуването. Поддръжката
-       на този аргумент беше добавена в PHP 4.1.0.
-       Понастоящем, наборът от знаци по подразбиране е ISO-8859-1.
-      </para>
+      &strings.parameter.encoding;
       &reference.strings.charsets;
      </listitem>
     </varlistentry>
@@ -105,8 +146,14 @@
  <refsect1 role="returnvalues">
   &reftitle.returnvalues;
   <para>
-   Връща кодираните данни
+   Връща кодираните данни.
   </para>
+  <para>
+   Ако входният параметър <parameter>string</parameter> съдържа невалидна кодова
+   последователност за указаното кодиране чрез <parameter>encoding</parameter>,
+   ще бъде върнат празен низ, освен ако не са установени флаговете
+   <constant>ENT_IGNORE</constant> или <constant>ENT_SUBSTITUTE</constant>
+  </para>
  </refsect1>

  <refsect1 role="changelog">
@@ -121,23 +168,33 @@
       </row>
      </thead>
      <tbody>
+      &strings.changelog.encoding;
       <row>
-       <entry>5.2.3</entry>
+       <entry>5.4.0</entry>
        <entry>
-        Добавен е параметъра <parameter>double_encode</parameter>.
+        Стойността по подразбиране на параметъра <parameter>encoding</parameter> е
+        променена на UTF-8.
        </entry>
       </row>
       <row>
-       <entry>4.1.0</entry>
+       <entry>5.4.0</entry>
        <entry>
-        Добавен е параметъра  <parameter>charset</parameter>.
+        Добавени са константите <constant>ENT_SUBSTITUTE</constant>, <constant>ENT_DISALLOWED</constant>,
+        <constant>ENT_HTML401</constant>, <constant>ENT_XML1</constant>,
+        <constant>ENT_XHTML</constant> и <constant>ENT_HTML5</constant>.
        </entry>
-      </row>
+      </row>
       <row>
-       <entry>4.0.3</entry>
+       <entry>5.3.0</entry>
        <entry>
-        Добавен е параметъра  <parameter>quote_style</parameter>.
+        Добавена е константата <constant>ENT_IGNORE</constant>.
        </entry>
+      </row>
+      <row>
+       <entry>5.2.3</entry>
+       <entry>
+        Добавен е параметъра <parameter>double_encode</parameter>.
+       </entry>
       </row>
      </tbody>
     </tgroup>
@@ -155,16 +212,35 @@
 <?php
 $str = "'Цитатът' е <b>удебелен</b>";

-// Изход: 'Цитатът' е &lt;b&gt;удебелен&lt;/b&gt;
+// Извежда: 'Цитатът' е &lt;b&gt;удебелен&lt;/b&gt;
 echo htmlentities($str);

-// Изход: &#039;Цитатът&#039; е &lt;b&gt;удебелен&lt;/b&gt;
+// Извежда: &#039;Цитатът&#039; е &lt;b&gt;удебелен&lt;/b&gt;
 echo htmlentities($str, ENT_QUOTES);
 ?>
 ]]>
     </programlisting>
    </example>
   </para>
+
+  <para>
+   <example>
+    <title>Употреба на <constant>ENT_IGNORE</constant></title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+$str = "\x8F!!!";
+
+// Извежда празен низ
+echo htmlentities($str, ENT_QUOTES, "UTF-8");
+
+// Извежда "!!!"
+echo htmlentities($str, ENT_QUOTES | ENT_IGNORE, "UTF-8");
+?>
+]]>
+    </programlisting>
+   </example>
+  </para>
  </refsect1>

  <refsect1 role="seealso">