2

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

提前致谢

4

3 回答 3

0

这是一个可用于创建 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”

其余的自定义取决于您,但这肯定是一个好的开始

于 2012-12-22T11:07:14.417 回答
0

看看这个页面的网址。

你可以让你的网址像

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 重写规则

于 2012-12-22T09:33:37.580 回答
0

这将非常有帮助,不仅适用于这个示例,还适用于任何其他干净的 url 内容。

http://www.generateit.net/mod-rewrite/

于 2012-12-22T09:43:13.287 回答