[PHP-DOC] cvs: phpdoc /en/functions strings.xml From: Jeroen van Wolffelaar (jeroen <email protected>)
Date: 06/27/01

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>