Req #20231 [Opn->Csd]: \v C-style escape sequence in double-quoted strings
| From: | nikic@php.net | Date: | Sun, 23 Sep 2012 16:57:14 +0000 |
| Subject: | Req #20231 [Opn->Csd]: \v C-style escape sequence in double-quoted strings | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-173663@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=20231&edit=1
ID: 20231
Updated by: nikic@php.net
Reported by: hioreanu+php at uchicago dot edu
Summary: \v C-style escape sequence in double-quoted strings
-Status: Open
+Status: Closed
Type: Feature/Change Request
-Package: Feature/Change Request
+Package: *General Issues
Operating System: Linux, FreeBSD
PHP Version: 4.2.2
-Assigned To:
+Assigned To: nikic
Block user comment: N
Private report: N
New Comment:
Closing as both \v and \f are supported by now.
Previous Comments:
------------------------------------------------------------------------
[2002-11-03 15:19:00] hioreanu+php at uchicago dot edu
PHP does not seem to recognize the "\v" escape sequence within strings, like C does. This
would probably be an issue in the PHP double-quoted string parser.
I'm guessing this has been filed elsewhere as a bug, but I cannot find it (the bug search form
does not like \v, '\v' or "\v").
Even though this is documented (language.types.string.php), it is still unexpected. Consider the
following code:
$s = ereg_replace("[\t\v\n\r ]", '', $s);
The intent is to replace all whitespace, where whitespace is defined similarly to isspace(3) (but I
forgot '\f', no big deal). The result is that whitespace *and* the "v"
character is removed. The letter v is rare enough in English (and vertical tab is almost unheard-of
in text) that this can go for a few days without being noticed.
In the same vein, \f should also be recognized. I'm not sure about \a and \b, but I would
definitely say trigraphs are a bad idea :).
Perhaps only a warning would be enough. My copy of the C standard states that when an unknown
escape sequence is encountered, the compiler should emit a diagnostic. That seems like reasonable
behaviour.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=20231&edit=1