我的网页网址就是这样的
url = http://www.example.com/2223/this-is-the-url-text-of-page
在上面的URL 2223
中是id,this-is-the-url-text-of-page
是在不同字段中存储在数据库中的静态文本。我在id。
但标题是必须在任何其他事情之前立即显示的一些事情。所以,如果我从数据库中检索标题,然后将其显示在页面顶部,我认为这不是一种有效的方法。显示页面标题的标准方法是什么。
大多数网站是否从数据库中检索标题?
OR
大多数网站都会在网址中附加标题吗?
OR
还有其他方法吗?
答案 0 :(得分:2)
大多数网站是否从数据库中检索标题? :是的
大多数网站都会在网址中附加标题吗? :页面的标题和网址不是一回事。
标题:这是此页面的URL文本
url:this-is-the-url-text-of-page
有两种方法可以做到这一点。您可以将标题 AND 存储在数据库中,或者从标题中“逐步”构建网址。第一种解决方案更有效。
答案 1 :(得分:1)
一般来说,根据我的经验,有几个因素需要考虑:
希望这有助于回答您的一些问题。
答案 2 :(得分:1)
然后将其显示在页面顶部,我认为这不是一种有效的方式
这取决于。标题嵌入在顶部附近的HTML中。虽然有些方法可以在以后注入,但实际上通常不值得这样做。 PHP / HTTP表现最佳when output buffering is enabled - 内容以一次突发的形式发送到浏览器 - 因此'高效'的解决方案是在浏览器完全内容可用之前不向浏览器发送任何内容。如果您的脚本非常慢(生成时间超过4秒),那么,根据DOM的构造方式,浏览器可能会在HTML不完整时开始呈现 - 在这种情况下,强制分块编码可以改进感知表现 - 但这很复杂且难以实施。
此外,响应中发送的第一位信息是请求是否按预期运行 - 用户是否经过身份验证?处理脚本有什么问题吗?内容是否已经过验证,或者您是否需要将浏览器重定向回上一页?在身份验证转换中,您还需要在处理请求后删除Cookie(即修改标头)。在您确定知道后续内容之前,您不应该提供状态 - 检查数据库是否正常工作是其中的一个重要部分。如果您过早开始生成输出,那么您将在响应标头中返回不正确的数据,并减少处理错误条件的选项。
因此,从性能和功能的角度来看,延迟生成输出更有意义,直到您知道输出将是什么。
答案 3 :(得分:0)
你的意思是在构建页面时获得标题 - >然后从db的单独字段中获取它。分别存储友好的URL和标题。
如果用户没有在URL中输入标题部分,只需使用id重定向到正确的页面。
不再相关:
我假设:您是否正在尝试动态构建一组链接(db中的页面)(您可能随时都有新页面或旧页面已删除),因此只需要获取标题?
为此 - >你可以运行一个20分钟的cron作业并制作一个静态包含页面。写入新页面,完成后,删除主要包含'links.html'并将新页面重命名为此。
甚至可以在管理部分中有一个链接随时运行
请提供更多背景信息。没有标准的解决方案。或者更确切地说,有3-4种情况取决于具体情况。
答案 4 :(得分:0)
页面的标题在html标题中定义如下:
<title>php - What is the standard way to get the title of the page - Stack Overflow</title>
这可以是静态的或动态的,具体取决于页面以及设计者如何构建。不确定如果你试图引用数据库是什么问题,因为我们没有看到整个混合。
你想要完成什么?
答案 5 :(得分:0)
建议使用数据库检索页面其余部分的标题。为什么?那么检查id不再是检查var中包含的唯一数字,但是另一方面,字符串具有可以包含但不能包含的范围,这使得为它创建规则变得更加困难打开安全问题。
换句话说,只需简单地在您的查询中添加联接,就可以了。
第二如果您使用mod_rewrite创建这些网址,那么常规的$ _GET变量仍然可用。
第三,如果没有,你可以使用像end(explode('/', $url));
这样的函数。
但最后正如我之前所说的数据库建议,它比全局var方法更安全,并且它比 url string 方法上的“运行函数”更可靠。
答案 6 :(得分:0)
从数据库中获取标题。 URL应该简短,易于输入。标题应该是描述性的。这意味着它可以更长,标点符号并且更长。
答案 7 :(得分:0)
此功能可能比爆炸更快,尤其是对于较长的网址:
basename($url);