我想什么可能是处理内部链接的最佳方式。
目前,我只是将完整的URL粘贴到所见即所得编辑器中,并在内容插入数据库之前将其替换为占位符。
ROOT_URL = "http://localhost/projectname/";
$content = Helper::replace_all(ROOT_URL, "{{{ROOT_URL}}}", $content); // custom
在输出内容之前,占位符将被当前ROOT_URL替换。
$content = Helper::replace_all("{{{ROOT_URL}}}", ROOT_URL, $content); // custom
它很好用,但我想知道你的最佳做法。你将如何处理这个问题?
提前感谢!
我脑海中有几个选项:
- 您可以为wysiwyg编辑器构建一个自定义链接选择器,该编辑器将使用
ROOT_URL
并将其直接插入到wysiwygEditor中。(我们在我工作的公司这样做) - 您可以在任何地方使用相对URL,并将您的
ROOT_URL
输出到网站上的<base>
标签中。(这个技巧有点争议,但我个人非常喜欢) - 您可以在开发时将HOSTS文件设置为使用实际域名(因此更类似于生产环境),并使所有路径都是绝对的。没有上面的解决方案那么通用,但被更广泛地接受
- 像现在这样使用占位符
就我个人而言,我认为最好的解决方案肯定是第一个,因为第二个、第三个和第四个解决方案需要用户理解链接的构建方式。第一种解决方案的巨大缺点是,当域更改时,您的内容中有硬编码的链接。或者,你也可以让自定义链接选择器插入一个占位符,这可能会更好。(其余保持不变)。第二种和第三种解决方案可能是最简单的集成和实际使用。