TinyMce 超链接绝对问题 url

TinyMce troubles with hyperlink absolute url

我在 textarea 输入表单中添加了 tinyMce 编辑器。 不幸的是,我在发送 hyperlink absolute urls.

时遇到了麻烦

我在 php CMS 中动态创建页面。

我可以启动 tinyMce 并且可以发送格式化文本。 当我尝试添加url时,最后的结果并不是我添加的absolutedurl,而是在它前面加上了另一个字符串url,如下图:

//Input url: www.example.it, will process the following result:
//http://www.myDomain.example/folder/\"http://www.example.it\"

因为最后的 link 不起作用,即使在 tinyMce 预览中一切似乎都很好。

我按照官网FAQ中写的说明设置了初始值:

tinymce.init({
  selector: 'textarea',  // change this value according to your HTML
  relative_urls : false,
  remove_script_host : true,
  document_base_url : 'http://www.mydomain.example/folder/'
});

这是一个非常讨厌的问题。注意到您输入的 url 周围的转义引号了吗?您已将 magic_quotes 设置为开启!我刚刚花了 2 个小时再次 追踪这个错误,所以我想我最好在网站上记录它。

在将 url 保存到数据库之前添加:

if  (get_magic_quotes_gpc())
    foreach ($row as &$value)
        $value = stripslashes($value);

这将去除转义引号并允许浏览器识别绝对 url。

另一个可能有帮助的解决方案,您可以使用文档创建一个函数来处理这个问题 TinyMce urlconverter_callback

因此您可以添加

relative_urls: true
remove_script_host: false
urlconverter_callback : 'customURLConverter'

customURLConverter 函数 你可以使用类似的东西

function customURLConverter(url, node, on_save, name)
{
    var checkURL;
    var urlPrefix;

    // Get the first 7 characters of the string
    checkURL = url.substring(0, 7);

    // Determine if those characters are coming from the image uploader
    if(checkURL === "/system")
    {
        // prefix the incoming URL with my domain
        urlPrefix = 'https://www.example.com';
        url = urlPrefix.concat(url);
    }

    // Return URL
    return url;
}