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

[email protected] (Stanislav Yordanov) Fri, 25 Dec 2015 18:25:48 +0000
Newsgroups php.doc.bg
Message-ID <[email protected]>
stanprog                                 Fri, 25 Dec 2015 18:25:48 +0000

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

Log:
sync to EN

Changed paths:
    U   phpdoc/bg/trunk/reference/strings/functions/addslashes.xml
svn-diffs-338358.txt (text/x-diff, 9.5 KB)
Modified: phpdoc/bg/trunk/reference/strings/functions/addslashes.xml
===================================================================
--- phpdoc/bg/trunk/reference/strings/functions/addslashes.xml	2015-12-25 17:50:41 UTC (rev 338357)
+++ phpdoc/bg/trunk/reference/strings/functions/addslashes.xml	2015-12-25 18:25:48 UTC (rev 338358)
@@ -1,86 +1,100 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: n/a Maintainer: stanprog Status: ready -->
+<!-- EN-Revision: 334702 Maintainer: stanprog Status: ready -->
+<!-- Reviewed: yes Maintainer: stanprog -->
 <!-- splitted from ./en/functions/strings.xml, last change in rev 1.2 -->
-  <refentry xml:id="function.addslashes" xmlns="http://docbook.org/ns/docbook">
-   <refnamediv>
-    <refname>addslashes</refname>
-    <refpurpose>Екранира специалните знаци в низ</refpurpose>
-   </refnamediv>
-   <refsect1 role="description">
-    &reftitle.description;
-     <methodsynopsis>
-      <type>string</type><methodname>addslashes</methodname>
-      <methodparam><type>string</type><parameter>str</parameter></methodparam>
-     </methodsynopsis>
-    <para>
-     Връща низ с обратно наклонени черти пред знаците, които
-     трябва да бъдат екранирани за заявки към бази от данни и др.
-     Тези знаци са единични кавички (<literal>'</literal>),
-     двойни кавички (<literal>"</literal>), обратно наклонена
-     черта (<literal>\</literal>) и NUL (&null; байт)
-    </para>
-    <para>
-     <function>addslashes</function> може да се употребява примерно
-     при вкарване на данни в база от данни. Например, за да вкарате
-     името <literal>O'reilly</literal> в база от данни, трябва да
-     го екранирате. При по-голяма част от базите от данни това се
-     прави посредством <literal>\</literal>, което означава
-     <literal>O\'reilly</literal>. Този знак се използва само
-     за да се вкара коректно текста в базата от данни т.е. знака
-     <literal>\</literal> няма да бъде вкаран.
-     Ако PHP директивата
-     <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link>
-     е установена в <literal>on</literal>, знакът <literal>'</literal>
-     ще бъде екраниран чрез още един <literal>'</literal>.
-    </para>
-    <para>
-     PHP директивата <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>
-     е <literal>on</literal> по подразбиране и по същество извиква
-     <function>addslashes</function> за всички GET, POST,
-     и COOKIE данни. Не трябва да се използва <function>addslashes</function>
-     върху низове, които вече са екранирани с
-     <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>,
-     тъй като това ще доведе до двойно екраниране. Функцията
-     <function>get_magic_quotes_gpc</function> може да се използва,
-     за да се провери състоянието на тази директива.
-    </para>
-   </refsect1>
+<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.addslashes">
+ <refnamediv>
+  <refname>addslashes</refname>
+  <refpurpose>Екранира специалните знаци в низ</refpurpose>
+ </refnamediv>

-   <refsect1 role="parameters">
-    &reftitle.parameters;
-    <para>
-     <variablelist>
-      <varlistentry>
-       <term><parameter>str</parameter></term>
-       <listitem>
-        <para>
-         Низът, който ще се екранира.
-        </para>
-       </listitem>
-      </varlistentry>
-     </variablelist>
-    </para>
-   </refsect1>
+ <refsect1 role="description">
+  &reftitle.description;
+  <methodsynopsis>
+   <type>string</type><methodname>addslashes</methodname>
+   <methodparam><type>string</type><parameter>str</parameter></methodparam>
+  </methodsynopsis>
+  <para>
+   Връща низ с обратно наклонени черти пред знаците, които трябва да бъдат
+   екранирани. Тези знаци са единични кавички (<literal>'</literal>),
+   двойни кавички (<literal>"</literal>), обратно наклонена
+   черта (<literal>\</literal>) и NUL (&null; байт).
+  </para>
+  <para>
+   <function>addslashes</function> може да се употребява примерно
+   при вкарване на данни в низ, който се изчислява от PHP. Например,
+   <literal>O'Reilly</literal> се съхранява в $str, трябва да екранирате
+   $str. (напр:  eval("echo '".addslashes($str)."';"); )
+  </para>
+  <para>
+   За екраниране на параметри предавани към базата от данни, трябва да се извика
+   екраниращата функция на съответната СУБД
+   (например <function>mysqli_real_escape_string</function> за MySQL или
+   <function>pg_escape_literal</function>, <function>pg_escape_string</function>
+   за PostgreSQL). Това се прави от съображения за сигурност. Различните СУБД имат
+   различни спецификации за екраниране на идентификатори (напр: име на таблица,
+   име на поле) идващи чрез параметър. Някои СУБД, като например PostgreSQL осигуряват
+   функцията за екраниране на идентификаторите <function>pg_escape_identifier</function>, но не всички
+   СУБД имат API за екраниране на идентификатори. Ако вашият случай е такъв, обърнете се към
+   системното ръководство за вашата база от данни за да разберете подходящият метод на екраниране.
+  </para>
+  <para>
+   Ако вашата СУБД няма функция за екраниране, а
+   използва <literal>\</literal> за екраниране на специалните знаци, може да
+   използвате функцията само, когато този метод за екраниране е адекватен за
+   вашата база от данни. Моля, забележете, че употребата
+   на <function>addslashes</function> за екраниране на параметри към база от данни
+   може да бъде причината за проблеми със сигурността на повечето бази от данни.
+  </para>
+  <para>
+   PHP директивата <link linkend="ini.magic-quotes-gpc">
+   magic_quotes_gpc</link> беше <literal>on</literal> по подразбиране преди
+   PHP 5.4 и по същество извикваше <function>addslashes</function> за
+   всички GET, POST и COOKIE данни. Не трябва да се
+   използва <function>addslashes</function> върху низове, които вече са
+   екранирани с
+   <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>,  тъй като това ще доведе
+   до двойно екраниране. Функцията
+   <function>get_magic_quotes_gpc</function> може да се използва,
+   за да се провери състоянието на тази директива.
+  </para>
+ </refsect1>

-   <refsect1 role="returnvalues">
-    &reftitle.returnvalues;
-    <para>
-     Връща екранирания низ.
-    </para>
-   </refsect1>
+ <refsect1 role="parameters">
+  &reftitle.parameters;
+  <para>
+   <variablelist>
+    <varlistentry>
+     <term><parameter>str</parameter></term>
+     <listitem>
+      <para>
+       Низът, който ще се екранира.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+ </refsect1>

-   <refsect1 role="examples">
-    &reftitle.examples;
-    <para>
-     <example>
-      <title>Пример за <function>addslashes</function></title>
-      <programlisting role="php">
+ <refsect1 role="returnvalues">
+  &reftitle.returnvalues;
+  <para>
+   Връща екранирания низ.
+  </para>
+ </refsect1>
+
+ <refsect1 role="examples">
+  &reftitle.examples;
+  <para>
+   <example>
+    <title>Пример за <function>addslashes</function></title>
+    <programlisting role="php">
 <![CDATA[
 <?php
-$str = "Ти O'reilly ли се казваш?";
+$str = "Ти O'Reilly ли се казваш?";

-// Изход: Ти O\'reilly ли се казваш?
+// Изход: Ти O\'Reilly ли се казваш?
 echo addslashes($str);
 ?>
 ]]>
@@ -88,7 +102,7 @@
      </example>
     </para>
    </refsect1>
-
+
    <refsect1 role="seealso">
     &reftitle.seealso;
     <para>
@@ -102,7 +116,8 @@
      </simplelist>
     </para>
    </refsect1>
-  </refentry>
+
+</refentry>

 <!-- Keep this comment at the end of the file
 Local variables: