Kunena论坛的Soundcloud BB代码

时间:2015-01-25 13:26:57

标签: soundcloud

我将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.'&amp;auto_play=false&amp;visual=true"></iframe>';
        }

这种方式可行,但不是完整的网址。例如,如果用户想要分享“http://soundcloud/track/1234”,他必须发布[soundcloud] track / 1234 [/ soundcloud]。

我更喜欢[soundcloud]之间的完整网址,因为这对用户来说会更容易。

等待你的建议! 此致

2 个答案:

答案 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.'&amp;auto_play=false&amp;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.'&amp;auto_play=false&amp;visual=true"></iframe>';
    }

感谢您的帮助!