2

我想什么可能是处理内部链接的最佳方式。

目前,我只是将完整的 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

它工作正常,但我想知道你的最佳做法。你会如何处理这个问题?

提前致谢!

4

1 回答 1

1

我的脑海中有几个选择:

  • 您可以为您的所见即所得编辑器构建一个自定义链接选择器,它将使用ROOT_URL并将其直接插入到所见即所得编辑器中。(我们在我工作的公司这样做)
  • 您可以在任何地方使用相对网址并将您的网址输出ROOT_URL<base>您网站上的标签中。(这个技术有点争议,但我个人非常喜欢)
  • 您可以在开发时设置您的 HOSTS 文件以使用实际域名(因此更类似于生产环境)并使所有路径都成为绝对路径。不像上面的解决方案那样通用,但更被广泛接受。
  • 像现在这样使用占位符。

我个人认为最好的解决方案肯定是第一个,因为第二、第三和第四个解决方案需要用户理解链接的构建方式。第一个解决方案的巨大缺点是,当域发生变化时,您的内容中有硬编码链接。或者,您也可以让自定义链接选择器插入一个占位符,这可能会更好。(并保持其余相同)。第二种和第三种解决方案可能是最容易集成和实际使用的解决方案。

于 2013-06-22T21:49:18.077 回答