我用来显示在 http://www.mywebaddress.com/bids/display.php?id=id之类的网站上创建的页面 ,但我想在 url 上显示带有页面标题的页面,比如 http:// www.mywebaddress.com/bids/title-of-the-bid/或 bids/title-of-the-bid.html
提前致谢
我用来显示在 http://www.mywebaddress.com/bids/display.php?id=id之类的网站上创建的页面 ,但我想在 url 上显示带有页面标题的页面,比如 http:// www.mywebaddress.com/bids/title-of-the-bid/或 bids/title-of-the-bid.html
提前致谢
这是一个可用于创建 URL 的函数
/** * 创建 URL 标题 * * 将“title”字符串作为输入并创建一个 * 带有破折号的人性化 URL 字符串 * 或下划线作为单词分隔符。 * * @访问公共 * @param string 字符串 * @param 字符串分隔符:破折号或下划线 * @return 字符串 */ 函数 urlTitle($str, $separator = '下划线', $lowercase = TRUE) { if ($separator == '破折号') { $搜索 = '_'; $replace = '-'; } 别的 { $搜索 = '-'; $replace = '_'; } $trans = 数组( '&\#\d+?;' => '', '&\S+?;' => '', '\s+' => $替换, '[^a-z0-9\-\._]' => '', $replace.'+' => $replace, $replace.'$' => $replace, '^'.$replace => $replace, '\.+$' => '' ); $str = strip_tags($str); foreach ($trans as $key => $val) { $str = preg_replace("#".$key."#i", $val, $str); } if ($小写 === TRUE) { $str = strtolower($str); } 返回修剪(rtrim(stripslashes($str),$replace)); }
这与 codeigniter 框架中的 url 辅助函数中使用的代码非常相似。
如何使用?
$title = "很好的表达方式"; echo urlTitle($title);//输出:“nice_way_to_put_it”
其余的自定义取决于您,但这肯定是一个好的开始
看看这个页面的网址。
你可以让你的网址像
http://www.mywebaddress.com/bids/1234/title-of-the-bid/
其中 1234 是您传递的帖子 ID,下一个参数可帮助您构建对 seo 友好的 url。
另外,如果你想喜欢
http://www.mywebaddress.com/bids/title-of-the-bid/
然后尝试使帖子的标题在数据库中唯一,您可以通过该字段查询以检索数据。第一个选项会更好。如果您仍想采用第二种方法,请在使标题独一无二后尝试使用本文执行此操作。
为了做同样的事情,你必须在 apache mod_rewrite的帮助下编写一个 url 重写规则
这将非常有帮助,不仅适用于这个示例,还适用于任何其他干净的 url 内容。