Steve Kaufman wrote:
Why does quotemeta("pat:1$WRW") return pat:1 instead of pat:1\$WRW
What am I misunderstanding about quotemeta function?
You usually would use quotemeta on data coming from the database, or the user, or externally, or, errr, basically things you haven't typed in to PHP, that you need to pass into Regular Expressions.
In those cases, you've already got the $ (and other characters) successfully embedded in the string, but you want to escape them for whatever reason.
A better example code would be: $string = 'period.backslash\\plus+star*question?lbracket[rbracket]carat^lparen(rparen)dollar$'; echo "<PRE>", quotemeta($string), "</PRE>";
Interesting aside... with the test string above, I noticed that backslash\\ only resolved to two backslashes. I thought there would be 4. It seems that quotemeta will resolve \ and \\ to \\, \\\ and \\\\ resolve to \\\\, etc.
-- Teach a man to fish...
NEW? | http://www.catb.org/~esr/faqs/smart-questions.html STFA | http://marc.theaimsgroup.com/?l=php-general&w=2 STFM | http://www.php.net/manual/en/index.php STFW | http://www.google.com/search?q=php LAZY | http://mycroft.mozdev.org/download.html?name=PHP&submitform=Find+search+plugins
Attachment:
signature.asc
Description: OpenPGP digital signature