Php Silverstripe 3:Tinymce,配置外部链接
我希望我的SilverStripe站点上的所有外部链接都使用https 在silverstripe中,我使用的是HTMLEditorFields,我想为外部链接配置选项。默认情况下,外部链接的链接字段将显示http:// 我想:Php Silverstripe 3:Tinymce,配置外部链接,php,tinymce,silverstripe,Php,Tinymce,Silverstripe,我希望我的SilverStripe站点上的所有外部链接都使用https 在silverstripe中,我使用的是HTMLEditorFields,我想为外部链接配置选项。默认情况下,外部链接的链接字段将显示http:// 我想: 将此更改为https:// 创建一个onBeforeWrite()函数,我可以在其中检查链接中是否存在https协议(因为可以删除最初位于文本字段中的http://协议) 我可以在哪里进行这些更改而不更改原始代码?我正在使用SilverStripe 3。onBefore
public function onBeforeWrite()
{
parent::onBeforeWrite();
$this->Content = str_replace('http://', 'https://', $this->Content);
}
请注意,如果目标网站不支持https,这可能会导致断开链接。2019年,这一数字应该相当小,并进一步下降。per JS,可能会对你有所帮助吗?如果这是str_replace是的,你是对的。别问我打这封信时脑子在想什么。谢谢你指出@spekulatius我只是想知道我应该把这个方法放在哪里?如何在外部链接字段中使用onBeforeWrite,因为我还希望将https添加到任何可能缺少协议的链接中。它应该放在你的应用程序
Page.php
文件中-在那里它将用https钩住并替换http。它不会捕获任何URL不完整(没有协议)的情况。为此,您需要解析内容,识别不完整的URL并修复它们。