ich glab das ich einfach zu dumm bin
ich habe ein preg_replace_callback den ich mit 2 arrays zum suchen fütter.
Eins zum suchen und eins als ersatz.
Leider kommt immer folgende Meldung dabei raus:
Code
[B]Warning[/B]: preg_replace_callback() [[URL='http://php.net/function.preg-replace-callback']function.preg-replace-callback[/URL]]: Requires argument 2, 'bbc_youtube::bbc_link', to be a valid callback in [B]/users/sett/www/functions/bbc.php[/B] on line [B]46[/B]
PHP
<?php
$GLOBALS['bbc_count'] = 0;
function bbc_youtube($par)
{
$GLOBALS['bbc_count']++;
$r = '<div class="youtube">
<div id="yq'.$GLOBALS['bbc_count'].'">
<a href="javascript: youtube(0,'.$GLOBALS['bbc_count'].',\''.$par[2].'\')" class="ilink">Nidrige Qualität</a>';
switch($par[1])
{
case '=1':
$r.= '
<a href="javascript: youtube(1,'.$GLOBALS['bbc_count'].',\''.$par[2].'\')">Hohe Qualität</a>';
break;
case '=2':
$r.= '
<a href="javascript: youtube(1,'.$GLOBALS['bbc_count'].',\''.$par[2].'\')">Hohe Qualität</a>
<a href="javascript: youtube(2,'.$GLOBALS['bbc_count'].',\''.$par[2].'\')">High Definition</a>';
break;
}
$r.= '
</div>
<object type="application/x-shockwave-flash" id="yt'.$GLOBALS['bbc_count'].'"
data="http://www.youtube.com/v/'.$par[2].'&hl=de&fs=1&rel=0&color1=0x39558d&color2=0xbababa">
<param name="movie" value="http://www.youtube.com/v/'.$par[2].'&hl=de&fs=1&rel=0&color1=0x39558d&color2=0xbababa" />
<param name="allowScriptAccess" value="always" /><br />
<param name="allowFullScreen" value="true" />
</object>
</div>';
return $r;
}
function bbc_link($par)
{
$par = $par[0];
if(strlen($par) > 40)$r = substr($par,0,20).'[..]'.substr($par,-20);
else $r = $par;
return '<a href="'.$par.'" title="'.$par.'">'.$r.'</a>';
}
$GLOBALS['bbc_c_suche'] = array('/\[youtube(\=[0-2]+|.{0})\](.{11})\[\/youtube\]/','/(http|https):\/\/([^ ]{5,})/');
$GLOBALS['bbc_c_ersatz']= array('bbcyt','bbclink');
function bbc($text)
{
$text = preg_replace_callback($GLOBALS['bbc_c_suche'],$GLOBALS['bbc_c_ersatz'],$text);
return $text;
}
echo bbc('[youtube=2]jyDrc5qBaRs[/youtube]');
Alles anzeigen
error_reporting(E_STRICT|E_ALL); hab ich schon gemacht