svn: /phpdoc/bg/trunk/reference/strings/functions/ str-ireplace.xml str-replace.xml strcspn.xml

[email protected] (Stanislav Yordanov) Sat, 09 Apr 2016 16:20:46 +0000
Newsgroups php.doc.bg
Message-ID <[email protected]>
stanprog                                 Sat, 09 Apr 2016 16:20:46 +0000

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

Log:
sync with EN

Changed paths:
    U   phpdoc/bg/trunk/reference/strings/functions/str-ireplace.xml
    U   phpdoc/bg/trunk/reference/strings/functions/str-replace.xml
    U   phpdoc/bg/trunk/reference/strings/functions/strcspn.xml
svn-diffs-338976.txt (text/x-diff, 15.7 KB)
Modified: phpdoc/bg/trunk/reference/strings/functions/str-ireplace.xml
===================================================================
--- phpdoc/bg/trunk/reference/strings/functions/str-ireplace.xml	2016-04-09 12:51:56 UTC (rev 338975)
+++ phpdoc/bg/trunk/reference/strings/functions/str-ireplace.xml	2016-04-09 16:20:46 UTC (rev 338976)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 297028 Maintainer: stanprog Status: ready -->
+<!-- EN-Revision: 338513 Maintainer: stanprog Status: ready -->
 <refentry xml:id="function.str-ireplace" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>str_ireplace</refname>
@@ -28,22 +28,38 @@
  <refsect1 role="parameters">
   &reftitle.parameters;
   <para>
+   Ако <parameter>search</parameter> и <parameter>replace</parameter> са
+   масиви, тогава <function>str_ireplace</function> взема стойностите от всеки
+   масив и ги използва за търсене и замяна в
+   <parameter>subject</parameter>. Ако <parameter>replace</parameter> има по-малко
+   стойности от <parameter>search</parameter>, тогава се използва празен низ
+   за останалите стойности за замяна. Ако <parameter>search</parameter> е
+   масив, а <parameter>replace</parameter> - низ, този низ за замяна
+   се използва за всяка стойност от <parameter>search</parameter>.
+   Обратното няма особен смисъл.
+  </para>
+  <para>
+   Ако параметрите <parameter>search</parameter> и <parameter>replace</parameter>
+   са масиви, техните елементи ще бъдат обработени от първия към последния.
+  </para>
+  <para>
    <variablelist>
     <varlistentry>
      <term><parameter>search</parameter></term>
      <listitem>
-      <note>
-       <para>
-        Всяка замяна с масива <parameter>search</parameter> се извършва на
-        базата на резултата от предишната замяна.
-       </para>
-      </note>
+      <para>
+       Стойността, която се търси, позната още като <emphasis>needle</emphasis>.
+       За повече търсени стойности може да се използва
+       масив.
+      </para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term><parameter>replace</parameter></term>
      <listitem>
       <para>
+       Стойността за замяна, която заменя намерените стойности на
+       <parameter>search</parameter>. За повече търсени стойности може да се използва масив.
       </para>
      </listitem>
     </varlistentry>
@@ -51,6 +67,10 @@
      <term><parameter>subject</parameter></term>
      <listitem>
       <para>
+       Низ или масив, в който се извършва търсенето и замяната,
+       познат още като <emphasis>haystack</emphasis>.
+      </para>
+      <para>
        Ако <parameter>subject</parameter> е масив, то търсенето и замяната
        се осъществяват с всеки елемент на <parameter>subject</parameter>.
        Върнатата стойност също е масив.
@@ -61,25 +81,12 @@
      <term><parameter>count</parameter></term>
      <listitem>
       <para>
-       Броят на срещнатите и заменени <parameter>needles</parameter> ще бъде
-       върнат в параметъра <parameter>count</parameter>, който се предава
-       по референция.
+       Ако този параметър е предаден, ще бъде установен на броя на направените замени.
       </para>
      </listitem>
     </varlistentry>
    </variablelist>
   </para>
-  <para>
-   Ако <parameter>search</parameter> и
-   <parameter>replace</parameter> са масиви, тогава
-   <function>str_ireplace</function> взема стойностите от всеки масив
-   и ги използва за търсене и замяна в <parameter>subject</parameter>.
-   Ако <parameter>replace</parameter> има по-малко стойности от
-   <parameter>search</parameter>, тогава се използва празен низ
-   за останалите стойности за замяна.
-   Ако <parameter>search</parameter> е масив, а <parameter>replace</parameter> - низ,
-   този низ за замяна се използва за всяка стойност от <parameter>search</parameter>.
-  </para>
  </refsect1>

  <refsect1 role="returnvalues">
@@ -89,30 +96,6 @@
   </para>
  </refsect1>

- <refsect1 role="changelog">
-  &reftitle.changelog;
-  <para>
-   <informaltable>
-    <tgroup cols="2">
-     <thead>
-      <row>
-       <entry>&Version;</entry>
-       <entry>&Description;</entry>
-      </row>
-     </thead>
-     <tbody>
-      <row>
-       <entry>5.0.0</entry>
-       <entry>
-        Добавен е параметърът <parameter>count</parameter>.
-       </entry>
-      </row>
-     </tbody>
-    </tgroup>
-   </informaltable>
-  </para>
- </refsect1>
-
  <refsect1 role="examples">
   &reftitle.examples;
   <para>
@@ -122,6 +105,7 @@
 <![CDATA[
 <?php
 $bodytag = str_ireplace("%body%", "black", "<body text=%BODY%>");
+echo $bodytag; // <body text=black>
 ?>
 ]]>
     </programlisting>
@@ -132,6 +116,15 @@
  <refsect1 role="notes">
   &reftitle.notes;
   &note.bin-safe;
+  <caution>
+   <title>Потенциални проблеми с реда на замяна</title>
+   <para>
+    Тъй като <function>str_ireplace</function> заменя от ляво на дясно, може
+    да замени предходно вмъкната стойност, при извършване на множествени замени.
+    Пример №2 в документацията на <function>str_replace</function>
+    пояснява как това работи на практика.
+   </para>
+  </caution>
  </refsect1>

  <refsect1 role="seealso">

Modified: phpdoc/bg/trunk/reference/strings/functions/str-replace.xml
===================================================================
--- phpdoc/bg/trunk/reference/strings/functions/str-replace.xml	2016-04-09 12:51:56 UTC (rev 338975)
+++ phpdoc/bg/trunk/reference/strings/functions/str-replace.xml	2016-04-09 16:20:46 UTC (rev 338976)
@@ -30,15 +30,14 @@
  <refsect1 role="parameters">
   &reftitle.parameters;
   <para>
-   Ако <parameter>search</parameter> и
-   <parameter>replace</parameter> са масиви, тогава
-   <function>str_replace</function> взема стойностите от всеки масив
-   и ги използва за търсене и замяна в <parameter>subject</parameter>.
-   Ако <parameter>replace</parameter> има по-малко стойности от
-   <parameter>search</parameter>, тогава се използва празен низ
-   за останалите стойности за замяна.
-   Ако <parameter>search</parameter> е масив, а <parameter>replace</parameter> - низ,
-   този низ за замяна се използва за всяка стойност от <parameter>search</parameter>.
+   Ако <parameter>search</parameter> и <parameter>replace</parameter> са
+   масиви, тогава <function>str_replace</function> взема стойностите от всеки
+   масив и ги използва за търсене и замяна в
+   <parameter>subject</parameter>. Ако <parameter>replace</parameter> има по-малко
+   стойности от <parameter>search</parameter>, тогава се използва празен низ
+   за останалите стойности за замяна. Ако <parameter>search</parameter> е
+   масив, а <parameter>replace</parameter> - низ, този низ за замяна
+   се използва за всяка стойност от <parameter>search</parameter>.
    Обратното няма особен смисъл.
   </para>
   <para>

Modified: phpdoc/bg/trunk/reference/strings/functions/strcspn.xml
===================================================================
--- phpdoc/bg/trunk/reference/strings/functions/strcspn.xml	2016-04-09 12:51:56 UTC (rev 338975)
+++ phpdoc/bg/trunk/reference/strings/functions/strcspn.xml	2016-04-09 16:20:46 UTC (rev 338976)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 297028 Maintainer: stanprog Status: ready -->
+<!-- EN-Revision: 338016 Maintainer: stanprog Status: ready -->
 <refentry xml:id="function.strcspn" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>strcspn</refname>
@@ -11,16 +11,24 @@
   &reftitle.description;
   <methodsynopsis>
    <type>int</type><methodname>strcspn</methodname>
-   <methodparam><type>string</type><parameter>str1</parameter></methodparam>
-   <methodparam><type>string</type><parameter>str2</parameter></methodparam>
+   <methodparam><type>string</type><parameter>subject</parameter></methodparam>
+   <methodparam><type>string</type><parameter>mask</parameter></methodparam>
    <methodparam choice="opt"><type>int</type><parameter>start</parameter></methodparam>
    <methodparam choice="opt"><type>int</type><parameter>length</parameter></methodparam>
   </methodsynopsis>
   <para>
    Връща дължината на сегмент в началото на низа
-   <parameter>str1</parameter>, която <emphasis>не</emphasis>
-   съдържа никой от указаните в <parameter>str2</parameter> знаци.
+   <parameter>subject</parameter>, която <emphasis>не</emphasis>
+   съдържа никой от указаните в <parameter>mask</parameter> знаци.
   </para>
+  <para>
+   Ако параметрите <parameter>start</parameter> и <parameter>length</parameter>
+   не са указани, то ще се изследва целия низ <parameter>subject</parameter>.
+   Ако са указани, ефектът ще бъде същият, като
+   извикването на <literal>strcspn(substr($subject, $start, $length),
+   $mask)</literal> (вж. <xref linkend="function.substr" />
+   за повече информация).
+  </para>
  </refsect1>

  <refsect1 role="parameters">
@@ -28,18 +36,18 @@
   <para>
    <variablelist>
     <varlistentry>
-     <term><parameter>str1</parameter></term>
+     <term><parameter>subject</parameter></term>
      <listitem>
       <para>
-       Първият низ.
+       Изследваният низ.
       </para>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><parameter>str2</parameter></term>
+     <term><parameter>mask</parameter></term>
      <listitem>
       <para>
-       Вторият низ.
+       Списък на позволените знаци.
       </para>
      </listitem>
     </varlistentry>
@@ -47,16 +55,47 @@
      <term><parameter>start</parameter></term>
      <listitem>
       <para>
-       Началната позиция на изследвания низ.
+       Позицията в <parameter>subject</parameter> за
+       начало на търсенето.
       </para>
+      <para>
+       Ако <parameter>start</parameter> е указан и е неотрицателен,
+       то <function>strcspn</function> ще започне с
+       разглеждането на <parameter>subject</parameter> започвайки от
+       позиция <parameter>start</parameter>. Например в
+       низа '<literal>abcdef</literal>', знакът на
+       позиция <literal>0</literal> е '<literal>a</literal>', знака на
+       позиция <literal>2</literal> е
+       '<literal>c</literal>'и така нататък.
+      </para>
+      <para>
+       Ако <parameter>start</parameter> е указан и е отрицателен,
+       то <function>strcspn</function> ще започне с
+       разглеждането на <parameter>subject</parameter> започвайки от
+       позиция <parameter>start</parameter> от края на
+       <parameter>subject</parameter>.
+      </para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term><parameter>length</parameter></term>
      <listitem>
       <para>
-       Дължината на изследвания низ.
+       Дължината на сегмента от <parameter>subject</parameter>
+       за изследване.
       </para>
+      <para>
+       Ако <parameter>length</parameter> е указан и неотрицателен,
+       то низът <parameter>subject</parameter> ще бъде изследван от
+       за <parameter>length</parameter> знака от стартовата
+       позиция.
+      </para>
+      <para>
+       Ако <parameter>length</parameter> е указан и отрицателен,
+       то низът <parameter>subject</parameter> ще бъде изследван от
+       началната позиция до <parameter>length</parameter>
+       знака от края на <parameter>subject</parameter>.
+      </para>
      </listitem>
     </varlistentry>
    </variablelist>
@@ -66,39 +105,60 @@
  <refsect1 role="returnvalues">
   &reftitle.returnvalues;
   <para>
-   Връща дължината на сегмента в целочислен вид.
+   Връща дължината на сегмент от началото на <parameter>subject</parameter>,
+   който се състои от всички символи в които <emphasis>не</emphasis> са в <parameter>mask</parameter>.
   </para>
+  <note>
+   <para>
+    Когато параметърът <parameter>start</parameter> е установен, върнатата дължина
+    се брои от тази позиция, а не от началото на
+    <parameter>subject</parameter>.
+   </para>
+  </note>
  </refsect1>

- <refsect1 role="changelog">
-  &reftitle.changelog;
-  <para>
-   <informaltable>
-    <tgroup cols="2">
-     <thead>
-      <row>
-       <entry>&Version;</entry>
-       <entry>&Description;</entry>
-      </row>
-     </thead>
-     <tbody>
-      <row>
-       <entry>4.3.0</entry>
-       <entry>
-        Добавени бяха параметрите <parameter>start</parameter> и <parameter>length</parameter>
-       </entry>
-      </row>
-     </tbody>
-    </tgroup>
-   </informaltable>
-  </para>
+ <refsect1 role="examples">
+  &reftitle.examples;
+  <example xml:id="strcspn.example">
+   <title>Пример за <function>strcspn</function></title>
+   <programlisting role="php">
+<![CDATA[
+<?php
+$a = strcspn('abcd',  'apple');
+$b = strcspn('abcd',  'banana');
+$c = strcspn('hello', 'l');
+$d = strcspn('hello', 'world');
+$e = strcspn('abcdhelloabcd', 'abcd', -9);
+$f = strcspn('abcdhelloabcd', 'abcd', -9, -5);
+
+var_dump($a);
+var_dump($b);
+var_dump($c);
+var_dump($d);
+var_dump($e);
+var_dump($f);
+?>
+]]>
+   </programlisting>
+   &example.outputs;
+   <screen>
+<![CDATA[
+int(0)
+int(0)
+int(2)
+int(2)
+int(5)
+int(4)
+]]>
+   </screen>
+  </example>
  </refsect1>
-
+
  <refsect1 role="notes">
   &reftitle.notes;
   &note.bin-safe;
  </refsect1>
-
+
  <refsect1 role="seealso">
   &reftitle.seealso;
   <para>
@@ -107,7 +167,7 @@
    </simplelist>
   </para>
  </refsect1>
-
+
 </refentry>

 <!-- Keep this comment at the end of the file