Re: eregi sentence
| From: | Nikos Gatsis | Date: | Mon, 01 Dec 2003 07:51:19 +0000 |
| Subject: | Re: eregi sentence | ||
| References: | 1 2 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-31820@lists.php.net to get a copy of this message | ||
Ivan hello
Yoy really help me a lot!
Thanx
----- Original Message -----
From: "Ivan Fomichev" <johnny@net.frn.ru>
To: "Nikos Gatsis" <php-db@lists.php.net>
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
> NG> href=\"(.+)\"([^>]*)>(.+)</a>", "<a
href=\"\\1\"
> NG> target=\"_blank\"
> NG> 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,
> Ivan mailto:johnny@net.frn.ru
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>