我试图在非字母数字字符上拆分字符串,或者简单地说我想拆分单词。我立即想到的方法是使用正则表达式。
例子:
$string = 'php_php-php php';
$splitArr = preg_split('/[^a-z0-9]/i', $string);
但是我发现这种方法存在两个问题。
- 它不是原生的 php 函数,完全依赖于服务器上运行的 PCRE 库。
- 一个同样重要的问题是,如果我在一个单词中有标点符号怎么办?
示例: 现在这会将字符串溢出, 但我希望它为
$string = 'U.S.A-men's-vote';
$splitArr = preg_split('/[^a-z0-9]/i', $string);[{U}{S}{A}{men}{s}{vote}]
[{U.S.A}{men's}{vote}]
所以我的问题是:
- 我们如何根据单词来拆分它们?
- 是否有可能使用 php 本机函数或以我们不依赖的其他方式来做到这一点?
问候