我想知道是否可以更改要上传的文件的名称.我的意思是我要做的是,用户上传的文件可能包含一些特殊字符,如某些欧洲语言中的特殊字符.
我打算做的是在使用move_uploaded_file命令之前,可以使用普通字符更改/ preg_replace特殊字符,以便使用只有普通字符的新名称上传和存储文件.
在MongoDB"db.foo.find()"语法中,如何判断它是否匹配所有字母及其重音版本?
举例来说,如果我有我的数据库名称的列表:
若昂·
弗朗索瓦·
赫苏斯
我如何允许搜索字符串"Joao","Francois"或"Jesus"以匹配给定的名称?
我希望我每次都不必像这样进行搜索:
db.names.find({name : /Fr[aã...][nñ][cç][all accented o characters][all accented i characters]s/ })
我得到的一些字符串是UTF-8编码,并包含一些特殊字符,如Å¡,Ä',Ä等.我用StringReplace()它来转换为一些普通文本,但我只能转换一种字符.因为PHP还有一个替换字符串的功能,如下所示:如何用PHP中的特殊字符替换特殊字符?,但它支持数组:
<?php
$vOriginalString = "¿Dónde está el niño que vive aquí? En el témpano o en el iglú. ÁFRICA, MÉXICO, ÍNDICE, CANCIÓN y NÚMERO.";
$vSomeSpecialChars = array("á", "é", "í", "ó", "ú", "Á", "É", "Í", "Ó", "Ú", "ñ", "Ñ");
$vReplacementChars = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U", "n", "N");
$vReplacedString = str_replace($vSomeSpecialChars, $vReplacementChars, $vOriginalString);
echo $vReplacedString; // outputs '¿Donde esta el nino que vive aqui? En el tempano o en el iglu. AFRICA, …Run Code Online (Sandbox Code Playgroud) 我有一个带有简单ul类别列表的照片库.类别是我服务器上的文件夹.如果文件夹名为"Ödla",则该类别也被命名为"Ödla".是否可以仅在类别而不是服务器上的实际文件夹中将"Ödla"中的"Ö"替换为"o".我不想使用mysql.
我希望你明白我的意思.
编辑:类别只是文本链接
在这个例子中,我的服务器上有两个名为"Ödla"和"Category 2"的文件夹
我只想重命名类别链接,而不是文件夹.
我正在尝试使用'áéíóú'等字符对字符串进行规范化,以简化搜索.
在回答这个问题之后,我应该用这个Normalizer课来做.
问题是该normalize功能什么都不做.例如,该代码:
<?php echo 'Pérez, NFC: ' . normalizer_normalize('Pérez', Normalizer::NFC)
. ' NFD: ' .normalizer_normalize('Pérez', Normalizer::NFD)
. ' NFKC: ' .normalizer_normalize('Pérez', Normalizer::NFKC)
. ' NFKD: ' .normalizer_normalize('Pérez', Normalizer::NFKD)?>
<br/>
<?php echo 'aáàä, êëéè,'
. ' FORM_C: ' . normalizer_normalize('aáàä, êëéè', Normalizer::FORM_C )
. ' FORM_D: ' .normalizer_normalize('aáàä, êëéè', Normalizer::FORM_D)
. ' FORM_KC: ' .normalizer_normalize('aáàä, êëéè', Normalizer::FORM_KC)
. ' FORM_KD: ' .normalizer_normalize('aáàä, êëéè', Normalizer::FORM_KD)?>
Run Code Online (Sandbox Code Playgroud)
说明:
Pérez, NFC: Pérez NFD: Pe?rez NFKC: Pérez NFKD: Pe?rez …Run Code Online (Sandbox Code Playgroud) 我需要改变有重音符号EG:Casá成为Casa的字符串.使用PHP有一种简单的方法吗?谢谢
可能重复:
如何用PHP中的特殊字符替换特殊字符?
我需要清理一个包含特殊字符(外语键盘等)的字符串,我需要将它们更改为"ä=> a"而不删除"_"," - "和"/"之类的字符.