Hmmm... reconozco que he sido un poco pesimista por que no entendía lo que estabas haciendo. En principio me funciona a medias, pero como puedo enviar una segunda variable a la función mi_callback?
Me explico:
Código:
$string = "Tenéis razon #2 y #24 es cierto! Sobre todo lo que dice #22 Aunque #5 también tiene razón";
$idn = 4;
$string = preg_replace_callback('/#(\d+)\b/', 'mi_callback', $string);
function mi_callback($match, $idn){
# Buscamos el post del quote
ConexionDB();
# Get Relacionadas
$query = mysql_query('SELECT mensaje FROM noticias_comentarios WHERE idn = "'.$idn.'" AND idp = "'.$match[1].'"');
$check = mysql_num_rows($query);
if($check == 0) {
return '<a class="tooltip" href="#'.$match[1].'" ref="El mensaje #'.$match[1].' no existe"><strong>#'.$match[1].'</strong></a>';
}else{
$fetch = mysql_fetch_array($query);
return '<a class="tooltip" href="#'.$match[1].'" ref="'.$fetch['mensaje'].'"><strong>#'.$match[1].'</strong></a>';
}
}
echo $string;
Funciona perfecto, es decir, me hace enlaces a todos los #post, pero claro, al no poder envíar $idn a la función, no consigo lo que realmente quiero.
Gracias por echar media tarde aquí ayudándome, de todas formas.