我的字符串是
$str = ' 4/151n';
我的正则表达式是
preg_match_all('/[^!$|@|!|#|%|\^|&|*|(|)|_|\–|\-|+|=|\\|\/|{|}|\[0-9\]|.|,|\|:|;|"|\'|\s+|→|<|>|\~\[\\r\\n\\t\]~]/', $str, $matches);
我的输出是
Array
(
[0] => �
[1] => n
)
我需要的输出是
Array
(
[0] => n
)
让我清楚地解释一下我的要求。 我需要从字符串中删除所有特殊字符,数字,换行符,空格。除上述字符串外,上述正则表达式适用于所有情况。
对于上面的字符串,我在第0个位置得到一些未知字符。需要删除它。
请帮帮我!
提前致谢!
答案 0 :(得分:3)
我需要删除所有特殊字符,数字,换行符,空格
你可以使用:
$str = preg_replace('/\P{L}+/u', '', $str);
//=> n
此处\P{L}+
匹配一个或多个具有unicode支持的非字母。
更新:基于OP的评论:
如果我在一个字符串中有多个单词,我需要将它们放在一个数组中
您可以使用:
if (preg_match_all('/\p{L}+/u', $str, $m))
print_r($m[0]);