jay*_*jay 2 php regex preg-replace
我正在使用完美的PHP清理网址生成器来清理一些上传脚本的文件名(以及在其他地方清理我的永久链接).我如何修改它以允许.如果函数看起来像这样:
setlocale(LC_ALL, 'en_US.UTF8');
function toAscii($str, $replace=array(), $delimiter='-', $exception = '') {
if( !empty($replace) ) {
$str = str_replace((array)$replace, ' ', $str);
}
$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
$clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
$clean = strtolower(trim($clean, '-'));
$clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean);
return $clean;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
编辑稍微修改了函数以反映我的实际用法 - 抱歉.
所以你只是想避免替换文字.字符,这是正确的吗?如果点在字符类中,则应按字面解释,因此您的第一个正则表达式行将变为:
$clean = preg_replace("/[^a-zA-Z0-9\/_|+ .-]/", '', $clean);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7499 次 |
| 最近记录: |