1

有没有办法在codeigniter中为不同的页面创建一个动态的body id,将空格转换为破折号?

我一直在论坛和搜索引擎周围,但我没有运气。

这是我的代码:

<body id="{$template.title}">

这是输出:

<body id="About us">

我希望它是:

<body id="about-us">

让我知道 谢谢

4

1 回答 1

2

你能解释一下,你为什么要这样做吗?如果您尝试在 javascript 中获取页面的标题,您可以使用document.title. 如果你想有一个唯一的 ID 值,你可以把它放在一个隐藏的输入框中,ID 为“page_value”或类似的东西,或者你可以简单地将它放在一个全局 javascript 变量中。如果您想在 POST 请求中将页面的 id 值传递到下一页而不使用 flashdata,您可以将其放在名称为“page_value”或其他名称的隐藏输入框中。如果你想在 CodeIgniter 中临时存储下一个页面加载的数据,你可以在 session 类中使用 CI 的 flashdata:

http://codeigniter.com/user_guide/libraries/sessions.html

但是,如果您确实想根据它所在的页面为正文赋予一个唯一的 id(即使我认为这种方法有点误导),您将不得不查看您的模板系统的插入方法。您可能可以在模板类中创建一个辅助标题,它采用标题值并去除空白字符并用破折号替换它。像这样的东西:

function stringURLSafe($string)
    {
        //remove any ' ' from the string and replace with '-'
        $str = str_replace(' ', '-', $string);

        // lowercase and trim
        $str = trim(strtolower($str));
        return $str;
    }
于 2010-10-05T16:44:42.847 回答