ho qualche codice con la struttura simile a questochiamando la funzione all'interno questo è preg_replace all'interno di una funzione
function bbcode($Text)
{ //$Text = preg_replace("/\[video\](.+?)\[\/video\]/",embed_video($1), $Text);
return $Text;}
function embed_video($url){
if (preg_match("/http:\/\/www.youtube.com\/watch\?v=([0-9a-zA-Z-_]*)(.*)/i", $url, $matches)) {
return '<object width="425" height="350">'.
'<param name="movie" value="http://www.youtube.com/v/'.$matches[1].'" />'.
'<param name="wmode" value="transparent" />'.
'<embed src="http://www.youtube.com/v/'.$matches[1].'&autoplay="0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350" />'.
'</object>';
}
return $url;
}
$lolcakes = "[video]http://youtube.com/id/xxxxxxpron[/video]";
$lolcakesconverted = bbcode($lolcakes);
Il problema è che sputa un errore verso di me.
Errore di analisi: errore di sintassi, T_LNUMBER inaspettato, aspettandosi T_VARIABLE o '$'
ha qualche idea su come posso chiamare embed_video all'interno della preg_replace della funzione bbcode?
Grazie!
grazie mille. perfetto – jiexi
cool. Hai risolto il mio problema! Grazie!! – Cris
In realtà, il "/ e" modificatore è disapprovato (come può portare a una vulnerabilità di sicurezza) e si dovrebbe usare [ 'preg_replace_callback'] (http://php.net/manual/en/function.preg-replace-callback. php) invece –