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>