当前浏览:首页 / WordPress函数 / sanitize_title()

sanitize_title( string $title, string $fallback_title = '', string $context = 'save' )

将字符串清理成slug,slug可以在URL或HTML属性中使用。

kses 清理

sanitize 清理more...

titlemore...


描述

默认情况下,将重音字符转换为ASCII字符,并通过‘sanitize_title’过滤器进一步将输出限制为字母数字字符、下划线(_)和短划线(-)。

如果$title为空并且设置了$fallback_title,则将使用后者。


参数

$title

(string) (必填) 要清理的字符串。

$fallback_title

(string) (可选) 如果$title为空,则使用此参数内容。

默认值: ''

$context

(string) (可选) 对字符串执行清理的操作。当设置为“save”时,该字符串将通过remove_accents()运行。

默认值: 'save'


返回

(string) 经过净化清理的字符串。


说明

“save”上下文在数据库中保存值时最常用,但也用于其他目的。当值将在查询的WHERE子句中使用时,sanitize_title_for_query()使用“query”上下文。



源码

查看源码 官方文档


更新日志

版本描述
1.0.0开始引入

使用示例

  • 示例1

    要创建URL的文件名部分,请使用与WordPress相同的方法:

    <?php
      $new_url = sanitize_title('This Long Title is what My Post or Page might be');
      echo $new_url;
    ?>
    

    它应该返回一个格式化的值,输出如下:

    this-long-title-is-what-my-post-or-page-might-be

  • 示例2

    如果标题是中文,则不适合作为HTML属性
    因为该函数将文字转换为ASCII字符。这将是一场灾难。

    $str = "這是字串";
    $str = sanitize_title( $str );
    echo $str; // it will echo "%e9%80%99%e6%98%af%e5%ad%97%e4%b8%b2"