我在textarea输入表单中添加了tinyMce编辑器。 不幸的是我发送超链接绝对网址时遇到了麻烦。
我在php CMS中动态创建页面。
我可以启动tinyMce,我可以发送格式化文本。 当我尝试添加url时,最终结果不是我添加的绝对url,但它前面是另一个字符串url,如下所示:
//Input url: www.example.it, will process the following result:
//http://www.myDomain.example/folder/\"http://www.example.it\"
因此,最终链接不起作用,即使在tinyMce预览中,所有内容似乎都很好。
我按照官方网站常见问题解答中的说明来设置初始值:
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/'
});
答案 0 :(得分:1)
这是一个非常讨厌的问题。请注意您输入的网址周围的转义引号?你有magic_quotes设置为开!我只花了2个小时跟踪再次这个错误,所以我想我最好在网站上记录它。
在将网址保存到数据库之前添加:
if (get_magic_quotes_gpc())
foreach ($row as &$value)
$value = stripslashes($value);
这将删除转义的引号并允许浏览器识别绝对网址。
答案 1 :(得分:0)
另一种可能有用的解决方案,您可以使用该文档来创建处理此问题的函数 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;
}