我需要替换字符串中不用单个字节表示的字符。
我的字符串就像这样
$inputText="centralkøkkenet kliniske diætister";
在该字符串中有ø和æ等字符。应替换这些字符。如何在正则表达式中提及这些我可以用于替换?
答案 0 :(得分:0)
如果您想要替换除字母数字和空格字符以外的所有内容,请尝试使用它。
[^a-zA-Z0-9 ]
这是demo
示例代码:
$re = "/[^a-zA-Z0-9 ]/";
$str = "centralkøkkenet kliniske diætister";
$subst = '';
$result = preg_replace($re, $subst, $str);
更好地使用[^\w\s]
或[\W\S]
使其简洁明了,如@ hjpotter92以及评论所示。
模式说明:
[^\w\s] any character except: word characters:
(a-z, A-Z, 0-9, _), whitespace (\n, \r, \t,\f, and " ")
[\W\S] any character of:
non-word characters (all but a-z, A-Z, 0-9, _),
non-whitespace (all but \n, \r, \t, \f, and " ")
答案 1 :(得分:0)
如果你想保持标点符号即:-'"!
...,请使用以下标题:
$text = 'central-køkkenet "kliniske" diætister!';
$new = preg_replace('/[\x7F-\xFF]/ui', '', $text);
echo $new,"\n";
<强>输出:强>
central-kkkenet "kliniske" ditister!