博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php简化URL路径,php – 修改(简化)主题标题以便在url中显示
阅读量:6269 次
发布时间:2019-06-22

本文共 3976 字,大约阅读时间需要 13 分钟。

这就是我所做的.我想我已经涵盖了大多数“常见”角色.显然,它会丢失一些.

/**

* Replaces special characters in a string with their "non-special" counterpart.

*

* Useful for friendly URLs.

*

* @param string

* @return string

*/

function convertAccentsAndSpecialToNormal($string) {

$table = array(

'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Å'=>'A', 'Ă'=>'A', 'Ā'=>'A', 'Ą'=>'A', 'Æ'=>'A', 'Ǽ'=>'A',

'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a', 'å'=>'a', 'ă'=>'a', 'ā'=>'a', 'ą'=>'a', 'æ'=>'a', 'ǽ'=>'a',

'Þ'=>'B', 'þ'=>'b', 'ß'=>'Ss',

'Ç'=>'C', 'Č'=>'C', 'Ć'=>'C', 'Ĉ'=>'C', 'Ċ'=>'C',

'ç'=>'c', 'č'=>'c', 'ć'=>'c', 'ĉ'=>'c', 'ċ'=>'c',

'Đ'=>'Dj', 'Ď'=>'D', 'Đ'=>'D',

'đ'=>'dj', 'ď'=>'d',

'È'=>'E', 'É'=>'E', 'Ê'=>'E', 'Ë'=>'E', 'Ĕ'=>'E', 'Ē'=>'E', 'Ę'=>'E', 'Ė'=>'E',

'è'=>'e', 'é'=>'e', 'ê'=>'e', 'ë'=>'e', 'ĕ'=>'e', 'ē'=>'e', 'ę'=>'e', 'ė'=>'e',

'Ĝ'=>'G', 'Ğ'=>'G', 'Ġ'=>'G', 'Ģ'=>'G',

'ĝ'=>'g', 'ğ'=>'g', 'ġ'=>'g', 'ģ'=>'g',

'Ĥ'=>'H', 'Ħ'=>'H',

'ĥ'=>'h', 'ħ'=>'h',

'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I', 'İ'=>'I', 'Ĩ'=>'I', 'Ī'=>'I', 'Ĭ'=>'I', 'Į'=>'I',

'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 'į'=>'i', 'ĩ'=>'i', 'ī'=>'i', 'ĭ'=>'i', 'ı'=>'i',

'Ĵ'=>'J',

'ĵ'=>'j',

'Ķ'=>'K',

'ķ'=>'k', 'ĸ'=>'k',

'Ĺ'=>'L', 'Ļ'=>'L', 'Ľ'=>'L', 'Ŀ'=>'L', 'Ł'=>'L',

'ĺ'=>'l', 'ļ'=>'l', 'ľ'=>'l', 'ŀ'=>'l', 'ł'=>'l',

'Ñ'=>'N', 'Ń'=>'N', 'Ň'=>'N', 'Ņ'=>'N', 'Ŋ'=>'N',

'ñ'=>'n', 'ń'=>'n', 'ň'=>'n', 'ņ'=>'n', 'ŋ'=>'n', 'ʼn'=>'n',

'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O', 'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ō'=>'O', 'Ŏ'=>'O', 'Ő'=>'O', 'Œ'=>'O',

'ò'=>'o', 'ó'=>'o', 'ô'=>'o', 'õ'=>'o', 'ö'=>'o', 'ø'=>'o', 'ō'=>'o', 'ŏ'=>'o', 'ő'=>'o', 'œ'=>'o', 'ð'=>'o',

'Ŕ'=>'R', 'Ř'=>'R',

'ŕ'=>'r', 'ř'=>'r', 'ŗ'=>'r',

'Š'=>'S', 'Ŝ'=>'S', 'Ś'=>'S', 'Ş'=>'S',

'š'=>'s', 'ŝ'=>'s', 'ś'=>'s', 'ş'=>'s',

'Ŧ'=>'T', 'Ţ'=>'T', 'Ť'=>'T',

'ŧ'=>'t', 'ţ'=>'t', 'ť'=>'t',

'Ù'=>'U', 'Ú'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ũ'=>'U', 'Ū'=>'U', 'Ŭ'=>'U', 'Ů'=>'U', 'Ű'=>'U', 'Ų'=>'U',

'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ü'=>'u', 'ũ'=>'u', 'ū'=>'u', 'ŭ'=>'u', 'ů'=>'u', 'ű'=>'u', 'ų'=>'u',

'Ŵ'=>'W', 'Ẁ'=>'W', 'Ẃ'=>'W', 'Ẅ'=>'W',

'ŵ'=>'w', 'ẁ'=>'w', 'ẃ'=>'w', 'ẅ'=>'w',

'Ý'=>'Y', 'Ÿ'=>'Y', 'Ŷ'=>'Y',

'ý'=>'y', 'ÿ'=>'y', 'ŷ'=>'y',

'Ž'=>'Z', 'Ź'=>'Z', 'Ż'=>'Z', 'Ž'=>'Z',

'ž'=>'z', 'ź'=>'z', 'ż'=>'z', 'ž'=>'z',

'“'=>'"', '”'=>'"', '‘'=>"'", '’'=>"'", '•'=>'-', '…'=>'...', '—'=>'-', '–'=>'-', '¿'=>'?', '¡'=>'!', '°'=>' degrees ',

'¼'=>' 1/4 ', '½'=>' 1/2 ', '¾'=>' 3/4 ', '⅓'=>' 1/3 ', '⅔'=>' 2/3 ', '⅛'=>' 1/8 ', '⅜'=>' 3/8 ', '⅝'=>' 5/8 ', '⅞'=>' 7/8 ',

'÷'=>' divided by ', '×'=>' times ', '±'=>' plus-minus ', '√'=>' square root ', '∞'=>' infinity ',

'≈'=>' almost equal to ', '≠'=>' not equal to ', '≡'=>' identical to ', '≤'=>' less than or equal to ', '≥'=>' greater than or equal to ',

'←'=>' left ', '→'=>' right ', '↑'=>' up ', '↓'=>' down ', '↔'=>' left and right ', '↕'=>' up and down ',

'℅'=>' care of ', '℮' => ' estimated ',

'Ω'=>' ohm ',

'♀'=>' female ', '♂'=>' male ',

'©'=>' Copyright ', '®'=>' Registered ', '™' =>' Trademark ',

);

$string = strtr($string, $table);

// Currency symbols: £¤¥€ - we dont bother with them for now

$string = preg_replace("/[^\x9\xA\xD\x20-\x7F]/u", "", $string);

return $string;

}

/**

* Create URL Title

*

* Takes a "title" string as input and creates a human-friendly URL string.

*

* @param string

* @param boolean

* @return string

*/

if (!function_exists('friendlyUrl')) {

function friendlyUrl($string, $lowercase = TRUE) {

$separator = '-';

if (function_exists('convertAccentsAndSpecialToNormal')) {

$string = convertAccentsAndSpecialToNormal($string);

}

$trans = array(

'/&\#\d+?;/i' => '',

'/&\S+?;/i' => '',

'/\.+/i' => '',

'/\s+/' => $separator,

'/\/+/' => $separator,

'/[^a-z0-9\-\._]/i' => '',

'/'. $separator .'+/' => $separator,

'/'. $separator .'$/' => $separator,

'/^'. $separator .'/' => $separator,

'/\.+$/' => ''

);

$string = strip_tags($string);

$string = preg_replace(array_keys($trans), array_values($trans), $string);

if ($lowercase === TRUE) {

$string = strtolower($string);

}

return trim(stripslashes($string));

}

}

转载地址:http://uaspa.baihongyu.com/

你可能感兴趣的文章
检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。...
查看>>
测试java的父子类化
查看>>
HDOJ 1008
查看>>
安装thrift出现的一些问题
查看>>
makefile编写---单个子目录编译模板
查看>>
Oracle DB_LINK如何使用
查看>>
cv resource
查看>>
关于加快INSERT语句执行速度和HINT /*+ append */及/*+ append nologging */的使用
查看>>
JDK源代码学习系列07----Stack
查看>>
firefox
查看>>
PS批处理的使用
查看>>
七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 【转】
查看>>
Quartz作业调度框架
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
js-权威指南学习笔记13
查看>>
《超级时间整理术》晨读笔记
查看>>
Spring Boot 2.0(二):Spring Boot 2.0尝鲜-动态 Banner
查看>>
Delphi IdTCPClient IdTCPServer 点对点传送文件
查看>>
Delphi中使用ActiveX的一些心得
查看>>
QT5.8.0+MSVC2015安装以及环境配置(不需要安装VS2015)
查看>>