我将Kunena Forum 3.0.6与Joomla 3一起用于:usical网站。
我需要在Kunena编辑器中添加BBcode,这样用户就可以直接在论坛上分享他们的Soundcloud音轨,例如[soundcloud] my-track [soundcloud]。
所以我现在在bbcode.php中有这个代码
'soundcloud' => array(
'mode' => BBCODE_MODE_LIBRARY,
'method' => 'DoSoundcloud',
'allow_in' => array('listitem', 'block', 'columns'),
'class' => 'block',
'allow_in' => array('listitem', 'block', 'columns'),
'content' => BBCODE_PROHIBIT,
'plain_start' => "[soundcloud]",
'plain_end' => "\n",
),
和
function DoSoundcloud($bbcode, $action, $name, $default, $params, $content) {
if ($action == BBCODE_CHECK)
return true;
return '<iframe width="100%" height="450" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http://soundcloud.com/'.$content.'&auto_play=false&visual=true"></iframe>';
}
这种方式可行,但不是完整的网址。例如,如果用户想要分享“http://soundcloud/track/1234”,他必须发布[soundcloud] track / 1234 [/ soundcloud]。
我更喜欢[soundcloud]之间的完整网址,因为这对用户来说会更容易。
等待你的建议! 此致
答案 0 :(得分:0)
尝试:
function DoSoundcloud($bbcode, $action, $name, $default, $params, $content) {
if ($action == BBCODE_CHECK) {
return true;
}
$content = preg_replace('%^http://(?:www\\.)?soundcloud\\.com/?%i', '', $content);
return '<iframe width="100%" height="450" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http://soundcloud.com/'.$content.'&auto_play=false&visual=true"></iframe>';
}
答案 1 :(得分:0)
我尝试使用您提供的代码,但似乎没有效果。
使用下面的代码,它可以工作,但如果网址中有破折号(可能还有其他字符?),则无效。
我想我必须添加类似'%^ http://(?:www \。)?soundcloud \ .com /?%i'的内容,但我不知道该怎么办。
function DoSoundcloud($bbcode, $action, $name, $default, $params, $content) { if ($action == BBCODE_CHECK) return true;
$content = strip_tags($content);
return '<iframe width="100%" height="450" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url='.$content.'&auto_play=false&visual=true"></iframe>';
}
感谢您的帮助!