nlopess         Sun Dec 19 08:35:36 2004 EDT

  Modified files:              
    /phpdoc/en/reference/pcre   pattern.syntax.xml 
  Log:
  update docs to reflect the new behaviour of (?xx) at top level
  
http://cvs.php.net/diff.php/phpdoc/en/reference/pcre/pattern.syntax.xml?r1=1.5&r2=1.6&ty=u
Index: phpdoc/en/reference/pcre/pattern.syntax.xml
diff -u phpdoc/en/reference/pcre/pattern.syntax.xml:1.5 
phpdoc/en/reference/pcre/pattern.syntax.xml:1.6
--- phpdoc/en/reference/pcre/pattern.syntax.xml:1.5     Mon Dec  6 22:29:16 2004
+++ phpdoc/en/reference/pcre/pattern.syntax.xml Sun Dec 19 08:35:34 2004
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.5 $ -->
+<!-- $Revision: 1.6 $ -->
 <!-- splitted from ./en/functions/pcre.xml, last change in rev 1.2 -->
   <refentry id="reference.pcre.pattern.syntax">
    <refnamediv>
@@ -802,33 +802,22 @@
       For example, (?im) sets caseless, multiline matching. It  is
       also possible to unset these options by preceding the letter
       with a hyphen, and a combined setting and unsetting such  as
-      (?im-sx),  which sets <link 
linkend="reference.pcre.pattern.modifiers">PCRE_CASELESS</link>  and <link 
linkend="reference.pcre.pattern.modifiers">PCRE_MULTILINE</link>  while
-      unsetting <link 
linkend="reference.pcre.pattern.modifiers">PCRE_DOTALL</link>  and <link 
linkend="reference.pcre.pattern.modifiers">PCRE_EXTENDED</link>, is also  
permitted.
-      If  a  letter  appears both before and after the hyphen, the
-      option is unset.
-     </para>
-     <para>
-      The scope of these option changes depends on  where  in  the
-      pattern  the  setting  occurs. For settings that are outside
-      any subpattern (defined below), the effect is the same as if
-      the  options were set or unset at the start of matching. The
-      following patterns all behave in exactly the same way:
-     </para>
-
-      <literallayout>
-        (?i)abc
-        a(?i)bc
-        ab(?i)c
-        abc(?i)
-      </literallayout>
-
-     <para>
-      which in turn is the same as compiling the pattern abc  with
-      <link linkend="reference.pcre.pattern.modifiers">PCRE_CASELESS</link> 
set.
-      In  other words, such "top level" settings apply to the whole
-      pattern  (unless  there  are  other changes  inside subpatterns).
-      If there is more than one setting of the same option at top level,
-      the rightmost  setting is used.
+      (?im-sx),  which sets <link
+       linkend="reference.pcre.pattern.modifiers">PCRE_CASELESS</link> and
+      <link linkend="reference.pcre.pattern.modifiers">PCRE_MULTILINE</link>
+      while unsetting <link
+       linkend="reference.pcre.pattern.modifiers">PCRE_DOTALL</link> and
+      <link linkend="reference.pcre.pattern.modifiers">PCRE_EXTENDED</link>,
+      is also  permitted. If  a  letter  appears both before and after the
+      hyphen, the option is unset.
+     </para>
+     <para>
+      When an option change occurs at top level (that is, not inside
+      subpattern parentheses), the change applies to the remainder of the
+      pattern that follows. So <literal>/ab(?i)c/</literal> matches only "abc"
+      and "abC". This behaviour has been changed in PCRE 4.0, which is bundled
+      since PHP 4.3.3. Before those versions, <literal>/ab(?i)c/</literal> 
would
+      perform as <literal>/abc/i</literal> (e.g. matching "ABC" and "aBc").
      </para>
      <para>
       If an option change occurs inside a subpattern,  the  effect
@@ -838,11 +827,11 @@
 
         <literal>(a(?i)b)c</literal>
 
-      matches  abc  and  aBc  and  no  other   strings   (assuming
-      <link linkend="reference.pcre.pattern.modifiers">PCRE_CASELESS</link>   
is  not used).  By this means, options can be
-      made to have different settings in different  parts  of  the
-      pattern.  Any  changes  made  in one alternative do carry on
-      into subsequent branches within  the  same  subpattern.  For
+      matches  abc  and  aBc  and  no  other   strings   (assuming <link
+       linkend="reference.pcre.pattern.modifiers">PCRE_CASELESS</link> is not
+      used). By this means, options can be made to have different settings in
+      different parts of the pattern. Any changes made in one alternative do
+      carry on into subsequent branches within the same subpattern. For
       example,
 
         <literal>(a(?i)b|c)</literal>

Reply via email to