我用来显示在 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 内容。