找了一阵子,但是由于我不明白可以输入的preg-replace参数,所以看类似的问题也无法解决我的问题。(因此我想问您可以解释答案中的每个符号吗?)
我想过滤一个字符串并用空格替换不是字母数字或重音的所有内容。(在此之后,我使用 preg_split 列出它们)。
在这里,我称为重音符号的符号仅显示小写,但也希望保留大写变体。(可能忘记了一些)。我真的需要左边的标志。权利不是强制性的:
é è ë ï ê ç ü ö ä ú ó á ã õ ñ å û â ô
我需要这个,因为我必须在我的数据库(准备好的语句)中搜索它。
目前我使用:
$terms=preg_split('/\s+/', preg_replace('/[^a-zA-Z0-9À-ÿ]+/', ' ', $_GET['ter']));
但是下面的例子表明它并没有留下原样的标志:
url example: mydomain.com/index.php?ter=léopold
$terms=preg_split('/\s+/', preg_replace('/[^a-zA-Z0-9À-ÿ]+/', ' ', $_GET['ter']));
foreach ($erms as $term){echo " term: ".$term;}
Outputs:
term: l� term: opold
What i want it to be:
term: léopold
所以我需要创建一个不损害口音的 preg_replace ,尤其是第一个代码块左侧写的那些