J'ai un code avec la structure similaire à cellefonction d'appel à l'intérieur thats preg_replace dans une fonction
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);
Le problème est-il crache une erreur de retour à moi.
Parse error: syntax error, T_LNUMBER inattendue, attendant T_VARIABLE ou '$'
des idées sur la façon dont je peux appeler embed_video l'intérieur de la preg_replace de la fonction bbcode?
Merci!
merci beaucoup. parfait – jiexi
cool. Vous avez résolu mon problème! Merci!! – Cris
En fait, le modificateur "/ e" est obsolète (ce qui peut conduire à une faille de sécurité) et vous devez utiliser ['preg_replace_callback'] (http://php.net/manual/en/function.preg-replace-callback. php) à la place –