以下代码负责dle脚本中的bbcode标记。 “\ 1”是我想用函数调用的链接,而是我得到纯文本
$txt = preg_replace( "#<!--dle_video_begin:(.+?)-->(.+?)<!--dle_video_end-->#is", '[video=\\1]', $txt );
我的功能
function videoD ($str) {
if (strpos($str,'http://') !== false) {
$vid = uppod_encode($str);
echo (uppod_encode($str));
} else {
$vid = uppod_decode($str);
echo (uppod_encode($vid));
}
}
我尝试了什么:
$txt = preg_replace( "#<!--dle_video_begin:(.+?)-->(.+?)<!--dle_video_end-->#is", '[video=videoD(\\1)]', $txt );
$txt = preg_replace( "#<!--dle_video_begin:(.+?)-->(.+?)<!--dle_video_end-->#is", '[video=videoD(1)]', $txt );
$txt = preg_replace( "#<!--dle_video_begin:(.+?)-->(.+?)<!--dle_video_end-->#is", '[video=\\videoD(1)]', $txt );
答案 0 :(得分:2)
$txt = preg_replace_callback('#<!--dle_video_begin:(.+?)-->(.+?)<!--dle_video_end-->#is', function($matches){
return "[video=videoD({$matches[1]})]";
}, $txt);