codice:
if (preg_match_all('/\[libro=([0-9]+)\]/', $testo, $ids)) {
$ids = array_unique(array_filter($ids[1], function($id) {
return intval($id);
}));
$query = 'SELECT id, titolo FROM libri WHERE id IN('.implode(', ', $ids).')';
$rs = mysql_query($query) or die(mysql_error());
$result=mysql_fetch_array($rs);
$titolo = $result["titolo"];
$testo = preg_replace_callback('/\[libro=([0-9]+)\]/', function($book) use ($result) {
$bookId = $book[1];
//if ($mysql_num_rows) { // controllo se esiste in $result un libro che ha l'id $bookId.
return "questo $titolo"; // restituisco l'output modificato, utilizzando $result
// }
// il libro non esiste, che faccio? lancio una eccezione? o lo gestisco silenziosamente?
}, $testo);
}
echo $testo;
// fine richiami
non riesco a recuperare il titolo del libro. O meglio non riesco a includerlo nel return.
Help