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]

Reply via email to