我想要做的是清理一个字符串(html标签,额外的空格,引号......),但我想承认拉丁字符,如标点符号和ñ
字符。我试过这个,但我不知道为什么没有按预期工作:
代码
//Removing special characters
$str = preg_replace('/[^;\sa-zA-Z0-9áéíóúüñÁÉÍÓÚÜÑ]+/', '', $str);
//Deleting extra white spaces
$str = preg_replace('/\s+/', ' ', $str);
例子
in: Película; Films; @Cine; Añoranza; <html></body>foo "bar ";
out: pelcula; Films; Cine; Aoranza; foo bar
expected: Película; Films; Cine; Añoranza; foo bar
问题:
我的代码有什么问题,我该如何解决?因为拉丁字符部分是唯一不适用于表达式的部分。
另外:如何将两个正则表达式合并为一个?