preg_replace:替换所有内容

时间:2011-07-21 11:11:21

标签: php preg-replace character

我想从以下字符串中删除一些不需要的字符。 这是代码。

 $input="aecąßÄ1,.!?-_'\"/><";  
    $input=preg_replace('/[^\p{P}\p{L}\p{N}\s]*/u', '', $input); 

代码似乎工作正常,但输出中丢失了特殊字符。 这就是我得到的。

   aec���1,.!?-_'"/  

而不是

 aecąßÄ1,.!?-_'"/  

为什么会这样?

1 个答案:

答案 0 :(得分:0)

根据评论编辑:

尝试使用“真实”字符:

$input=  preg_replace('/[^aecąßÄ1,.!?-_\'\"\/]/', '', $input);

最后回答:

如果要删除不需要的字符,可以使用更简单的正则表达式删除该字符:

$input= "aecąßÄ1,.!?-_'\"/><";
$input=  preg_replace('/[<>]/', '', $input);

在正则表达式中将[]放在[]之间。这将适用于您的情况。