vrana           Tue Oct 12 03:49:13 2004 EDT

  Modified files:              
    /phpdoc/en/reference/pcre/functions preg-match-all.xml 
                                        preg-match.xml 
  Log:
  offset VS substr (patch by Andrey Demenev)
  
http://cvs.php.net/diff.php/phpdoc/en/reference/pcre/functions/preg-match-all.xml?r1=1.14&r2=1.15&ty=u
Index: phpdoc/en/reference/pcre/functions/preg-match-all.xml
diff -u phpdoc/en/reference/pcre/functions/preg-match-all.xml:1.14 
phpdoc/en/reference/pcre/functions/preg-match-all.xml:1.15
--- phpdoc/en/reference/pcre/functions/preg-match-all.xml:1.14  Tue Aug 10 12:30:20 
2004
+++ phpdoc/en/reference/pcre/functions/preg-match-all.xml       Tue Oct 12 03:49:05 
2004
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.14 $ -->
+<!-- $Revision: 1.15 $ -->
 <!-- splitted from ./en/functions/pcre.xml, last change in rev 1.2 -->
   <refentry id="function.preg-match-all">
    <refnamediv>
@@ -131,13 +131,23 @@
     <para>
      Normally, the search starts from the beginning of the subject string. The
      optional parameter <parameter>offset</parameter> can be used to specify
-     the alternate place from which to start the search. It is equivalent to
-     passing <function>substr</function>($subject, $offset) to
-     <function>preg_match</function> in place of the subject string.
+     the alternate place from which to start the search.
      The <parameter>offset</parameter> parameter is available since
      PHP 4.3.3.
     </para>
 
+    <note>
+     <para>
+      Using <parameter>offset</parameter> is not equivalent to
+      passing <function>substr</function>($subject, $offset) to
+      <function>preg_match</function> in place of the subject string, because
+      <parameter>pattern</parameter> can contain assertions such as
+      <emphasis>^</emphasis>, <emphasis>$</emphasis> or
+      <emphasis>(?&lt;=x)</emphasis>. See <function>preg_match</function> for
+      examples.
+     </para>
+    </note>
+    
     <para>
      Returns the number of full pattern matches (which might be zero),
      or &false; if an error occurred.
http://cvs.php.net/diff.php/phpdoc/en/reference/pcre/functions/preg-match.xml?r1=1.15&r2=1.16&ty=u
Index: phpdoc/en/reference/pcre/functions/preg-match.xml
diff -u phpdoc/en/reference/pcre/functions/preg-match.xml:1.15 
phpdoc/en/reference/pcre/functions/preg-match.xml:1.16
--- phpdoc/en/reference/pcre/functions/preg-match.xml:1.15      Tue Aug 10 12:30:20 
2004
+++ phpdoc/en/reference/pcre/functions/preg-match.xml   Tue Oct 12 03:49:06 2004
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.15 $ -->
+<!-- $Revision: 1.16 $ -->
 <!-- splitted from ./en/functions/pcre.xml, last change in rev 1.2 -->
   <refentry id="function.preg-match">
    <refnamediv>
@@ -51,12 +51,71 @@
     <para>
      Normally, the search starts from the beginning of the subject string. The
      optional parameter <parameter>offset</parameter> can be used to specify
-     the alternate place from which to start the search. It is equivalent to
-     passing <function>substr</function>($subject, $offset) to
-     <function>preg_match</function> in place of the subject string.
+     the alternate place from which to start the search.
      The <parameter>offset</parameter> parameter is available since
      PHP 4.3.3.
     </para>
+    <note>
+     <para>
+      Using <parameter>offset</parameter> is not equivalent to
+      passing <function>substr</function>($subject, $offset) to
+      <function>preg_match</function> in place of the subject string, because
+      <parameter>pattern</parameter> can contain assertions such as
+      <emphasis>^</emphasis>, <emphasis>$</emphasis> or
+      <emphasis>(?&lt;=x)</emphasis>. Compare:
+     </para>
+     <informalexample>
+      <programlisting role="php">
+<![CDATA[
+<?php
+$subject = "abcdef";
+$pattern = '/^def/';
+preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
+print_r($matches);
+?>
+]]>
+      </programlisting>
+      <para>
+       will produce
+      </para>
+      <screen>
+<![CDATA[
+Array
+(
+)
+]]>
+      </screen>
+      <para>
+       and
+      </para>
+      <programlisting role="php">
+<![CDATA[
+<?php
+$subject = "abcdef";
+$pattern = '/^def/';
+preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
+print_r($matches);
+?>
+]]>
+      </programlisting>
+      <para>
+       will produce
+      </para>
+      <screen>
+<![CDATA[
+Array
+(
+    [0] => Array
+        (
+            [0] => def
+            [1] => 0
+        )
+
+)
+]]>
+      </screen>
+     </informalexample>
+    </note>
 
     <para>
      <function>preg_match</function> returns the number of times 

Reply via email to