aan alle goede dingen komt een eind, webmasterplein.net 2003 - 2013
wij danken jullie voor al mooie momenten die dankzij dit forum ontstonden - Derk, Rutger en Stef

[php] preg_replace met eigen functie

Deel alles wat je delen kan, gebruik het voor opslag, plaats het omdat je er trots op bent of creƫer samen wat moois!

[php] preg_replace met eigen functie

Berichtdoor Salomon » 22 apr 2008 20:27

Preg_replace met eigen functie (preg_replace_callback), zodat je bv '<nlbr>(.*)</nlbr>' kan omzetten naar nl2br($string)

Eigen functie
Code: Selecteer alles
<?php $fnc_text = 'return do_stuff($matches[0])'; // je functie tekst;
$txt = $_POST['tekst'];
$newtxt = preg_replace_callback('xxx', create_function('$matches', $fnc_text), $txt);  


Met bestaande functie:

Code: Selecteer alles
<?php $txt = $_POST['tekst'];
$newtxt = preg_replace_callback('xxx', 'functie_naam', $txt);  

Meer informatie: http://www.php.net/preg_replace_callback en http://www.php.net/create_function.

Zelf gebruik ik dit in m'n CMS bijvoorbeeld om PHP content te parsen:
Code: Selecteer alles
<?php $fnc_txt = 'if(!preg_match("#;[[:space:]]$#is", $matches[2])) { $matches[2] = $matches[2] . ";"; } ob_start(); eval($matches[2]); $c = ob_get_contents(); ob_end_clean(); return $c;';
$text = stripslashes($args['content']);
$text = utils::handle_text(preg_replace_callback('|<\?(php)?(.*?)\?>|is', create_function('$matches', $fnc_txt), $text));
echo
$text;
Salomon
wmpr
 
Berichten: 72
Geregistreerd: 22 nov 2006 15:42
Woonplaats: Den Haag

Keer terug naar Snippets



cron