sc*********@hot mail.com wrote:
On the PHP site on the preg_replace() function page (
http://us3.php.net/manual/en/function.preg-replace.php ), example 1
uses "@" signs in the regular expression members of the "search" array.
On another PHP site (
http://www.phpfreaks.com/phpmanual/p...g-replace.html ),
Example 5 is the same script except the regex array members use double-
then single-quotes.
Why?
Both scripts seem to work the same. I can find no documentation on how
the "@" sign affects how the regex is used.
A link to explanatory documentation would be highly appreciated.
The @ does nothing. In accordance with PERL syntax, you can use nearly
any non-alphanumeric characters to bracket regular expressions. People
usually stick with the /expression/ format, for among other things,
that's required in Javascript. Some people like to use @expression@
because in web application, you often search for the slash character
itself.
The following all do the same thing:
preg_match('|he llo|', "hello");
preg_match('@he llo@', "hello");
preg_match('/hello/', "hello");
preg_match('%he llo%', "hello");
preg_match('#he llo#', "hello");
preg_match('<he llo>', "hello");
preg_match('?he llo?', "hello");
preg_match('[hello]', "hello");
preg_match('&he llo&', "hello");
preg_match('(he llo)', "hello");
preg_match('=he llo=', "hello");
Some are, of course, goofier than others.