phpbar.de logo

Mailinglisten-Archive

[php] RegEx-Frage (ap)

[php] RegEx-Frage (ap)

Sebastian Mendel lists at sebastianmendel.de
Mit Okt 27 08:22:10 CEST 2004


Alexander Palm wrote:
> Hallo!
> 
> Habe da mal wieder eine Frage... Und zwar habe ich mir folgendes 
> ausgedacht, was auch guck funktioniert bist auf eine Kleinigkeit.
> 
> Das ist der RegEx:
> 
> /(^|,?)(\s?)(.*?)(,|$)/e

/(^|,)(\s?)(.+)(,|$)/e
  (Anfang oder Komma)
       (eventuell Leerzeichen)
            (mindestens ein Zeichen)
                (Komma oder Ende)

oder?

> 
> Das der preg_replace:
> 
> return preg_replace($pattern, "'\\1\\2<a 
> href=\"./index.php?order_by=$kat&where='.rawurlencode('\\3').'\">\\3</
> a>\\4'", $str);
> 
> Das ist der SuchString:
> Charlze Theron, Courtney Love, Stuart Townsend, Kevin Bacon
> 
> und das kommt bei herraus:
> <a 
> href="./index.php?order_by=darsteller&amp;where=Charlze%20Theron">Char
> lze Theron</a>, <a 
> href="./index.php?order_by=darsteller&amp;where=Courtney%20Love">Court
> ney Love</a>, <a 
> href="./index.php?order_by=darsteller&amp;where=Stuart%20Townsend">Stu
> art Townsend</a>, <a 
> href="./index.php?order_by=darsteller&amp;where=Kevin%20Bacon">Kevin 
> Bacon</a><a href="./index.php?order_by=darsteller&amp;where="></a>
> 
> Soweit auch nicht schlecht - bis auf den letzten leeren Link den ich 
> gar nicht haben will und auch nicht weiß wo der her kommt :-(
> 
> Wer hat da eine hilfreiche Idee?

wie wärs mit implode() ?

$darsteller = explode( ', ', $str );
foreach( $darsteller as $key => $value)
{
     $value = trim( $value );
     $darsteller[$key] = '<a 
href="./index.php?order_by=darsteller&amp;where=' . $value . '">' . 
$value . '</a>';
}

echo implode( ', ', $darsteller );

-- 
Sebastian Mendel

www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime        www.sf.net/projects/phptimesheet

php::bar PHP Wiki   -   Listenarchive