📜  merubah judul menjadi slug codeigniter - PHP (1)

📅  最后修改于: 2023-12-03 15:02:55.744000             🧑  作者: Mango

将标题转换为 slug 的 CodeIgniter 示例

在 CodeIgniter 中,将标题转换为 slug 是很常见的任务。在本次演示中,我们将学习如何在 CodeIgniter 中使用自定义帮助器来执行此操作。

步骤 1 - 创建帮助器函数

首先,我们需要创建帮助器函数来将标题转换为 slug。将下面的代码保存到 application/helpers/url_helper.php 文件中:

<?php
function url_title($str, $separator = '-', $lowercase = FALSE)
{
    if ($separator === 'dash') {
        $separator = '-';
    } elseif ($separator === 'underscore') {
        $separator = '_';
    }

    $q_separator = preg_quote($separator, '#');

    $trans = array(
        '&.+?;'                  => '',
        '[^\w\d _-]'             => '',
        '\s+'                    => $separator,
        '(' . $q_separator . ')+' => $separator
    );

    $str = strip_tags($str);
    foreach ($trans as $key => $val) {
        $str = preg_replace('#' . $key . '#i' . (UTF8_ENABLED ? 'u' : ''), $val, $str);
    }

    if ($lowercase === TRUE) {
        $str = strtolower($str);
    }

    return trim(trim($str, $separator));
}
步骤 2 - 使用帮助器函数

现在,我们可以在我们的项目中任何地方使用该函数来将标题转换为 slug。例如,我们可以将其用于博客文章:

$this->load->helper('url');
$slug = url_title('这是博客文章的标题');

在本例中,我们使用 CodeIgniter 的“加载帮助器”功能来载入我们的自定义帮助器。然后,我们将博客文章的标题作为参数传递给 url_title 函数,并将结果存储在 slug 变量中。

步骤 3 - 测试代码

我们可以通过在视图文件中打印 slug 变量来测试代码:

echo $slug; // 输出 '这是博客文章的标题转换为slug后的结果'
结论

我们已经学会了在 CodeIgniter 中将标题转换为 slug 的方法。在这个简单的示例中,我们使用了自定义帮助器来实现这一功能。希望这篇文章能够对您有所帮助!