Re: [PHP] ereg_replace to preg_replace translation

2009-08-11 Thread Shawn McKenzie
m a r k u s wrote:
 Hi all,
 
 I see that from PHP 5.3.0 ereg_replace() function is deprecated and
 throws a warning.
 I would like to use the preg_replace() function as an alternative of
 ereg_replace() function but... can't undestand the \n#[^\n]*\n
 expression.
 
 $sql = ereg_replace(\n#[^\n]*\n, , $sql);
 
 Any help for tranlation or alternative ?
 Thanks
 
 -- 
 m a r k u s

Here's a good regex tutorial:  http://www.regular-expressions.info/

But to answer your question, \n#[^\n]*\n means the match must:

start with a newline(\n) followed by a pound sign (#) followed by 0 or
more characters (*) that are not a newline(^\n) all the way up to
another newline (\n).

To translate to preg I think all you need to do is give it delimiters,
but that may not be necessary, not sure. |\n#[^\n]*\n|

-- 
Thanks!
-Shawn
http://www.spidean.com

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] ereg_replace to preg_replace translation

2009-08-11 Thread Ford, Mike
 -Original Message-
 From: m a r k u s [mailto:queribus2...@hotmail.com]
 Sent: 11 August 2009 15:34
 
 I see that from PHP 5.3.0 ereg_replace() function is deprecated and
 throws a warning.
 I would like to use the preg_replace() function as an alternative of
 ereg_replace() function but...
 can't undestand the \n#[^\n]*\n expression.
 
 $sql = ereg_replace(\n#[^\n]*\n, , $sql);

Generally the only change you need to make for transition from ereg to preg 
(for simple expressions, anyway) is the addition of pattern delimiters. So the 
above becomes, for example:

  $sql = preg_replace(|\n#[^\n]*\n|, , $sql);

Although I would argue that those \ characters should be escaped (and should 
have been even for ereg), so the more correct version of this is:

  $sql = preg_replace(|\\n#[^\\n]*\\n|, , $sql);


Cheers!

Mike
 -- 
Mike Ford,
Electronic Information Developer, Libraries and Learning Innovation,  
Leeds Metropolitan University, C507, Civic Quarter Campus, 
Woodhouse Lane, LEEDS,  LS1 3HE,  United Kingdom 
Email: m.f...@leedsmet.ac.uk 
Tel: +44 113 812 4730





To view the terms under which this email is distributed, please go to 
http://disclaimer.leedsmet.ac.uk/email.htm

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php