PHP/String/preg replace callback
Generating replacement strings with a callback function
<source lang="html4strict">
<?php
$html = "The <b> tag makes text bold: <b>bold</b>
";
print preg_replace_callback("@(.*?)
@","decode", $html);
function decode($matches) {
return html_entity_decode($matches[1]);
} ?>
</source>
Generating replacement strings with an anonymous function
<source lang="html4strict">
<?php $callbackFunction = create_function("$matches","return html_entity_decode($matches[1]);"); $fp = fopen("html-to-decode.html","r"); while (! feof($fp)) {
$line = fgets($fp);
print preg_replace_callback("@(.*?)
@",$callbackFunction, $line);
} fclose($fp); ?>
</source>
Using preg_replace_callback() to Replace Patterns
<source lang="html4strict">
preg_replace_callback() allows you to assign a callback function. preg_replace_callback() requires a regular expression,
a reference to a callback function, and the string to be analyzed.
<? function convDate( $matches ) {
$year = ($year < 70 )?$matches[3]+2000:$matches[3]; $time = ( mktime( 0,0,0,$matches[1],$matches[2],$matches[3]) ); return date("l d F Y", $time);
}
$dates = "3/18/03
\n7/22/04";
$dates = preg_replace_callback( "/([0-9]+)\/([0-9]+)\/([0-9]+)/","convDate", $dates);
print $dates;
?>
</source>