jeroen          Wed Jun 27 11:58:49 2001 EDT

  Modified files:              
    /phpdoc/en/functions        strings.xml 
  Log:
  Implemented zak's notes on addcslashes
  
  
Index: phpdoc/en/functions/strings.xml
diff -u phpdoc/en/functions/strings.xml:1.94 phpdoc/en/functions/strings.xml:1.95
--- phpdoc/en/functions/strings.xml:1.94        Sat Jun 23 22:10:51 2001
+++ phpdoc/en/functions/strings.xml     Wed Jun 27 11:58:49 2001
@@ -38,8 +38,17 @@
      listed in <parameter>charlist</parameter> parameter. It escapes
      <literal>\n</literal>, <literal>\r</literal> etc. in C-like
      style, characters with ASCII code lower than 32 and higher than
-     126 are converted to octal representation. Be carefull when
-     escaping alphanumeric characters. You can specify a range in
+     126 are converted to octal representation. 
+       </para>
+       <para>
+     Be careful if you choose to escape characters 0, a, b, f, n, r, 
+        t and v. They will be converted to \0, \a, \b, \f, \n, \r, \t 
+        and \v. 
+     In PHP \0 (NULL), \r (carriage return), \n (newline) and \t (tab) 
+        are predefined escape sequences, while in C all of these are 
+        predefined escape sequences.
+       </para>
+       <para>
      <parameter>charlist</parameter> like "\0..\37", which would
      escape all characters with ASCII code between 0 and 31.
      <example>
@@ -48,9 +57,36 @@
 $escaped = addcslashes ($not_escaped, "\0..\37!@\177..\377");
       </programlisting>
      </example>
+       </para>
+       <para>
+        When you define a sequence of characters in the charlist argument 
+        make sure that you know what characters come between the characters 
+        that you set as the start and end of the range. 
+     <informalexample>
+      <programlisting role="php">
+echo addcslashes('foo[]', 'A..z'); 
+// All upper and lower-case letters will be escaped 
+// ..but so will the [\]^_` and space characters. 
+      </programlisting>
+     </informalexample>
+
+        Also, if the first character in a range has a lower ASCII value 
+        than the second character in the range, no range will be constructed. 
+        Only the start, end and period characters will be escaped. Use the 
+        <function>ord</function> function to find the ASCII value for a character. 
+     <informalexample>
+      <programlisting role="php">
+echo addcslashes("zoo['.']", 'z..A');
+/* output:
+\zoo['\.']
+
+*/
+      </programlisting>
+     </informalexample>
+
      <note>
       <simpara>
-       Added in PHP4b3-dev.</simpara>
+       Added in PHP 4</simpara>
      </note>
     </para>
     <para>


Reply via email to