- preg_replace_callback: documentation ( source)
<?php
$text = 'say hello to @elise and @john';
function replace_at_symbol($matches){
return "(here you would replace: ".$matches[0]." with something)";
}
$output = preg_replace_callback("/([@][a-zA-Z-0-9]+)/", "replace_at_symbol", $text);
echo $output;
?>