Question about array syntax

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
On the PHP site on the preg_replace() function page ( ), example 1
uses "@" signs in the regular expression members of the "search" array.
On another PHP site ( ),
Example 5 is the same script except the regex array members use double-
then single-quotes.


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.

Re: Question about array syntax wrote:

Quoted text here. Click to load it

the "@" sign in the first example is used as the delimiter.  In the second  
example the delimiter is "/"

With regex - you can use almost any meta-character as a delimiter.

Re: Question about array syntax wrote:
Quoted text here. Click to load it

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

The following all do the same thing:

preg_match('|hello|', "hello");
preg_match('@hello@', "hello");
preg_match('/hello/', "hello");
preg_match('%hello%', "hello");
preg_match('#hello#', "hello");
preg_match('<hello>', "hello");
preg_match('?hello?', "hello");
preg_match('[hello]', "hello");
preg_match('&hello&', "hello");
preg_match('(hello)', "hello");
preg_match('=hello=', "hello");

Some are, of course, goofier than others.

Site Timeline