php PHP的简单slugify功能。为传递的字符串创建一个slug,同时考虑国际字符。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php PHP的简单slugify功能。为传递的字符串创建一个slug,同时考虑国际字符。相关的知识,希望对你有一定的参考价值。

<?php
function slugify($string, $replace = array(), $delimiter = '-') {
  // https://github.com/phalcon/incubator/blob/master/Library/Phalcon/Utils/Slug.php
  if (!extension_loaded('iconv')) {
    throw new Exception('iconv module not loaded');
  }
  // Save the old locale and set the new locale to UTF-8
  $oldLocale = setlocale(LC_ALL, '0');
  setlocale(LC_ALL, 'en_US.UTF-8');
  $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $string);
  if (!empty($replace)) {
    $clean = str_replace((array) $replace, ' ', $clean);
  }
  $clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
  $clean = strtolower($clean);
  $clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean);
  $clean = trim($clean, $delimiter);
  // Revert back to the old locale
  setlocale(LC_ALL, $oldLocale);
  return $clean;
}

以上是关于php PHP的简单slugify功能。为传递的字符串创建一个slug,同时考虑国际字符。的主要内容,如果未能解决你的问题,请参考以下文章

C# 中的 Slugify 和字符转写

PHP 在PHP中使用Slugify字符串

php Slugify

php slugify

PHP slugify

在PHP中对字符串进行Slugify