PHP rtrim所有尾随特殊字符
我正在制作一个函数,用于检测并删除字符串中所有尾随的特殊字符。它可以转换字符串,如:PHP rtrim所有尾随特殊字符,php,regex,Php,Regex,我正在制作一个函数,用于检测并删除字符串中所有尾随的特殊字符。它可以转换字符串,如: “你好,世界” “你好,世界/” “你好,世界--” “你好,世界/%-+…” 进入“你好世界” 没有人不写很多代码就知道这个诀窍吗?只是为了好玩 [^a-z\s]+ 说明: [^x]:一个非x字符 \s:“空白字符”:空格、制表符、换行符、回车符、垂直制表符 +:一个或多个 PHP: 试试这个 $string = preg_replace('/[^A-Za-z0-9\-]/', '', $stri
- “你好,世界”
- “你好,世界/”
- “你好,世界--”
- “你好,世界/%-+…”
[^a-z\s]+
说明:[^x]
:一个非x字符\s
:“空白字符”:空格、制表符、换行符、回车符、垂直制表符+
:一个或多个
PHP:
试试这个
$string = preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
或者从字符串中转义撇号
preg_replace('/[^A-Za-z0-9\-\']/', '', $string); // escape apostraphe
您可以使用这样的正则表达式,具体取决于您对“特殊字符”的定义: 它将字符串
$
末尾的非单词字符(\W
)替换为零<代码>\W将匹配[^a-zA-Z0-9\
,因此任何不是字母、数字或下划线的内容都将被替换。要指定哪些字符是特殊字符,请使用如下正则表达式,将所有特殊字符放在[]
括号内:
function clean_string($input) {
return preg_replace('/[\/%.+-]+$/', '', $input);
}
这就是你要找的
([^\n\w\d\“]*)$
它删除了字母表、数字、空格和新行以外的任何内容。
就这样说吧:
preg\u replace('/([^\n\w\s]*)$/,'$string);
对不起,它错了,它是“你好”。你不需要\d
这个\w
包含了这个。它还允许下划线。哦,是的。。谢谢你。
function clean_string($input) {
return preg_replace('/\W+$/', '', $input);
}
function clean_string($input) {
return preg_replace('/[\/%.+-]+$/', '', $input);
}