转换php中的特殊字符

时间:2017-01-15 15:56:54

标签: php html character

我想创建一个名称如下的文件夹:

1.参观L'Aventure Du Sucre博物馆和工厂

2.访问ValléedesCouleurs

但我得到了:

  1. 参观L Aventure Du Sucre博物馆和工厂
  2. 访问Valléedes Couleurs
  3. 如何处理这些特殊字符?我知道这是一个众所周知的问题,但我不能让它有效,请帮忙

    这是我的代码:

    $Title = "Visit to L’Aventure Du Sucre Museum and Factory";
    
    mkdir('uploadImage/'. $Title, 0777, true);
    

1 个答案:

答案 0 :(得分:2)

尝试强化目录名称

function slugify($text){
  // replace non letter or digits by -
  $text = preg_replace('~[^\pL\d]+~u', '-', $text);

  // transliterate
  $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);

  // remove unwanted characters
  $text = preg_replace('~[^-\w]+~', '', $text);

  // trim
  $text = trim($text, '-');

  // remove duplicate -
  $text = preg_replace('~-+~', '-', $text);

  // lowercase
  $text = strtolower($text);

  return $text;
}

$Title = "Visit to L’Aventure Du Sucre Museum and Factory";
$Title = slugify($Title)
mkdir('uploadImage/'. $Title, 0777, true);