Re: [PHP-DB] eregi sentence

2003-12-01 Thread Nikos Gatsis
Ivan hello
Yoy really help me a lot!
Thanx

- Original Message - 
From: Ivan Fomichev [EMAIL PROTECTED]
To: Nikos Gatsis [EMAIL PROTECTED]
Sent: Sunday, November 30, 2003 6:56 PM
Subject: Re: [PHP-DB] eregi sentence


 Hello Nikos,

 Sunday, November 30, 2003, 10:29:19 AM, you wrote:

 NG Can somebody tell me what is wrong with the following?
 NG $body=eregi_replace(a href=\(.+)\([^]*)(.+)/a, a
href=\\\1\
 NG target=\_blank\ class=\down_txt\strong\\3/strong/a,
$body);

 1) /.+/ is too greedy. You should use something like /[^]+/ or /.+?/
instead
(second is supported only in Perl-compatible regexps). The best
solution
could be /[^']+?/ however.
 2) /a / doesn't match \n after a.

$body = preg_replace(
'#[Aa]\s[^]*?[Hh][Rr][Ee][Ff]\s*=\s*([\'])([^\']+?)\1[^]*?'
.
'([^]*?)/a[^]*?#s',
'A href=\2 target=_blank class=down_txt' .
'strong\3/strong/a',
$body
);

This regexp is not perfect, but I hope it has enough margin of safety,
at
least if your HTML code is more or less correct. E. g., all href values
must be quoted and '', '', '' and ' without special meaning must
be
written as HTML entities.

 -- 
 Best regards,
  Ivanmailto:[EMAIL PROTECTED]

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


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



Re: [PHP-DB] eregi sentence

2003-11-30 Thread Ivan Fomichev
Hello Nikos,

Sunday, November 30, 2003, 10:29:19 AM, you wrote:

NG Can somebody tell me what is wrong with the following?
NG $body=eregi_replace(a href=\(.+)\([^]*)(.+)/a, a href=\\\1\
NG target=\_blank\ class=\down_txt\strong\\3/strong/a, $body);

1) /.+/ is too greedy. You should use something like /[^]+/ or /.+?/ instead
   (second is supported only in Perl-compatible regexps). The best solution
   could be /[^']+?/ however.
2) /a / doesn't match \n after a.

   $body = preg_replace(
   '#[Aa]\s[^]*?[Hh][Rr][Ee][Ff]\s*=\s*([\'])([^\']+?)\1[^]*?' .
   '([^]*?)/a[^]*?#s',
   'A href=\2 target=_blank class=down_txt' .
   'strong\3/strong/a',
   $body
   );

   This regexp is not perfect, but I hope it has enough margin of safety, at
   least if your HTML code is more or less correct. E. g., all href values
   must be quoted and '', '', '' and ' without special meaning must be
   written as HTML entities.
   
-- 
Best regards,
 Ivanmailto:[EMAIL PROTECTED]

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