Yep, but the problem is that ereg doesn't return more than one match, so
you've got to use preg_match_all (I think). The snippet I sent you
should work (at least, it does on my system).


On Mon, 2002-10-14 at 08:22, Ns_Andy wrote:
> Since I don't know perl,I use ereg instead.
> 
> but ,thanks.
> 
> --
> Regards,
> 
> "Marco Tabini" <[EMAIL PROTECTED]> wrote in message 
>[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> > If you want to match more than one occurrence of the same pattern, you
> > must use preg_match_all with Perl syntax. The matches will be returned
> > as an array of arrays (that is, an array that contains the result of a
> > normal ereg call for each match found):
> >
> > $line = '<a href="http://www.yahoo.com";>http://www.yahoo.com</a>';
> > $line .= 'X<a href=http:/www.php.net>www.php.net</a>';
> > if (preg_match_all("/(<( )*[Aa]( )*[Hh][Rr][Ee][Ff]( )*=(
> > )*[\"'][^<>\"']*[\"']( )*>[^<>]*<( )*\/( )*a( )*>)/",$line,$matches))
> > {
> > print ($matches[0][0]); // Returns the first match
> > print ($matches[1][0]); // Returns the second match
> > }
> >
> > Also, your regular expression didn't cover all the possibility (eg:
> > spaces between href and =. I might have overdone it with mine but, hey,
> > I've got a turkey to cook and it's already late ;-)
> >
> > Cheers,
> >
> >
> > Marco
> >
> > On Mon, 2002-10-14 at 07:40, Ns_Andy wrote:
> > > $line = '<a href="http://www.yahoo.com";>http://www.yahoo.com</a>';
> > > if (eregi("<a[  ]+(.*[  ]+)?href=([\"'])?([^<>\"'])+([\"'])?>[^<>]+<\/a[ 
>]*>",$line,$matches)) {
> > > print (htmlspecialchars($matches[0]));
> > > }
> > >
> > > it works fine,
> > > however if
> > > $line .= 'X<a href=http:/www.php.net>www.php.net</a>';
> > > is added before eregi,
> > > it doesn't,what's wrong with my code?
> > > --
> > > Regards,
> > >
> > >
> > >
> > > --
> > > PHP General Mailing List (http://www.php.net/)
> > > To unsubscribe, visit: http://www.php.net/unsub.php
> > >
> >
> >
> 
> 
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 



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

Reply via email to