You don't have to start with /, because you can start with |, ~, or something else which does not appear in the regex string. The idea is the first character must be and the last.
----- Original Message ----- From: "Stefan Rusterholz" <[EMAIL PROTECTED]> To: "Jeff Lewis" <[EMAIL PROTECTED]> Cc: "PHP" <[EMAIL PROTECTED]> Sent: Tuesday, November 20, 2001 4:33 PM Subject: Re: [PHP] Regular Expressions. > I ran into that problem also when I first tried to script with PHP. > 1. > preg_match("/yourexpression/",$text,$matches); > always set the / at beginning and end of the regex (as you did in perl) > 2. > preg_match("/\[/",.... > this won't match the char [ because of the double-quotes (") it escapes > the [-char only "one-time" (don't know how to say that) > to get it working as you know it from perl you have to escape it twice: > preg_match("/\\[/"... > 3. > AFAIK the pattern-modifier /g is always set! Use the LIMIT parameter to > avoid /g > > there have been some more problems during my transition, but I don't > remember all of them... > read the user comments on the documention on php.net, they are very helpful > > hope I could help > Stefan Rusterholz, [EMAIL PROTECTED] > ---------------------------------- > interaktion gmbh > Stefan Rusterholz > Zürichbergstrasse 17 > 8032 Zürich > ---------------------------------- > T. +41 1 253 19 55 > F. +41 1 253 19 56 > W3 www.interaktion.ch > ---------------------------------- > ----- Original Message ----- > From: "Jeff Lewis" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Tuesday, November 20, 2001 2:37 PM > Subject: [PHP] Regular Expressions. > > > I'm trying to port over some Perl to PHP and have come to a string of > regular expressions like this. There are probably 30 of them: > > $message =~ s~\[color=([\w#]+)\](.*?)\[/color\]~<font > color="$1">$2</font>~isg; > $message =~ s~\[black\](.*?)\[/black\]~<font color=000000>$1</font>~isg; > $message =~ s~\[white\](.*?)\[/white\]~<font color=FFFFFF>$1</font>~isg; > > How can I accomplish the same in PHP? > > $message = preg_match ("\[color=([\w#]+)\](.*?)\[/color\]", "<font > color="$1">$2</font>") > > I was thinking that is how it would be done but I am getting errors. > > Jeff > > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > To contact the list administrators, e-mail: [EMAIL PROTECTED] > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]