查找字符串中第一次出现的非字母数字字符

find the first occurrence of non-alphanumeric character in a string

我知道我可以使用 strpos 来查找字符串的第一次出现。但是是否有可能找到第一个不是字母字符或数字的字符。

例如:

strpos2('hello world') => 5

strpos2('hi!you') => 2

试试 preg_match

$string = "hi!you";
preg_match('/[\W]+/', $string, $match, PREG_OFFSET_CAPTURE);
print_r($match);

此处 $match 将 return 第一个匹配的非字母字符的位置