我正在尝试解析一个字符串,将其拆分为非字母或数字
$parse_query_arguments = preg_split("/[^a-z0-9]+/i", 'København');
并构造一个mysql查询。 即使我跳过preg_split并尝试直接输入字符串,它也会将其分成2个不同的字符串,'K'和'benhavn'。
我该如何处理这些问题?
答案 0 :(得分:2)
如果你使用像a-z
这样的文字字符,那么它将不会与重音字符匹配。您可能希望使用各种character classes来进行更多通用匹配:
/[[:alpha:][:digit]]/
[:alpha:]
集的范围比a-z
宽得多。请记住,字符匹配是根据字符代码完成的,a-z
按字面顺序排列a
和z
之间的字符索引。像ø
这样的字符在这个范围之外,即使它们按字母顺序排在它之间。
计算机以ASCII-abetical(UNICODEical?)顺序工作。
答案 1 :(得分:1)