phpbar.de logo

Mailinglisten-Archive

[php] preg_replace(); und kopierte Inhalte außerhalb verwenden

[php] preg_replace(); und kopierte Inhalte außerhalb verwenden

Alex Emken php at emken.com
Don Aug 10 23:56:46 CEST 2006


Hannes H. wrote:
> Ich habe es nämlich mit
> 
> $out = preg_replace_callback('%({\w+})%', meineCallbackFunktion($1), $input);

Eventuell nicht das eleganteste, aber tut. ;)

<?php

$input = "bla bla bla {foobar} bla bla bla\n bla bla {fubar} blaa bla
{dasgehtauch} bla bla ";

function myReplace($matches) {

    $a = array('foobar' => 'hallo',
               'fubar' => 'blubb',
               'dasgehtauch' => '42');

    $str = str_replace(array('{','}'), '', $matches[1]);
    return (isset($a[$str])) ? $a[$str] : $matches[1];
}

$output = preg_replace_callback('%({\w+})%', "myReplace", $input);

echo $output;

?>

Gruß,
Alex

php::bar PHP Wiki   -   Listenarchive