如何将大写url转换为小写

时间:2015-04-18 09:44:24

标签: php mod-rewrite

在我的网站上, 例如:

**http://example.com/products/New-York/Coffee-Table/1**

**http://example.com/products/new-york/coffee-table/1**

4 个答案:

答案 0 :(得分:4)

PHP有一些用于转换字符串大小写的内置函数。

  

string strtolower ( string $string )

     

返回字符串,其中所有字母字符都转换为小写   请注意,'alphabetic'由当前区域设置决定。这意味着,例如在默认的“C”语言环境中,不会转换umlaut-A(Ä)等字符。

  

string strtoupper ( string $string )

     

返回字符串,其中所有字母字符都转换为大写   请注意,'alphabetic'由当前区域设置决定。例如,在默认的“C”语言环境中,如umlaut-a(ä)不会转换字符。

  

string mb_strtolower ( string $str [, string $encoding = mb_internal_encoding() ] )

     

返回str,将所有字母字符转换为小写。

  

string mb_strtoupper ( string $str [, string $encoding = mb_internal_encoding() ] )

     

返回str,所有字母字符都转换为大写。

  

string mb_convert_case ( string $str , int $mode [, string $encoding = mb_internal_encoding() ] )

     

对字符串执行大小写折叠,按照模式指定的方式进行转换。

-

完整文档:http://php.net/docs.php

答案 1 :(得分:3)

您可以在.htaccess中执行此操作以强制url为小写。试试这个.htaccess文件:

RewriteCond $1 [A-Z]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /${lowercase:$1} [R=301,L]

答案 2 :(得分:1)

使用mb_strtolower($url)。如果您不关心URL中的非ASCII字符,请使用strtolower($url)strtolower()错误处理多字节字符。

答案 3 :(得分:0)

请使用inbuild PHP函数 strtolower()将您的字符串转换为小写。

$myUrl = "http://example.com/products/New-York/Coffee-Table/1";

$myModifiedUrl = strtolower($myUrl);

//$myModifiedUrl contents the string with lower case.

希望你在寻找这个。