我有一个字符串如下:
is newegg.com a scam ? – fraudwatchers
当我将该字符串放入数组时,使用以下代码:
$title_word = str_word_count(“is newegg.com a scam ? – fraudwatchers”, 1);
Run Code Online (Sandbox Code Playgroud)
它给了我以下结果:
0 => string 'is' (length=2)
1 => string 'newegg' (length=6)
2 => string 'com' (length=3)
3 => string 'a' (length=1)
4 => string 'scam' (length=4)
5 => string '-' (length=1)
6 => string 'fraudwatchers' (length=13)
Run Code Online (Sandbox Code Playgroud)
我想要一个数组元素来包含整个世界“newegg.com”和另一个数组元素包含“?”你能告诉我如何用一个例子做到这一点.任何帮助将不胜感激.
更新:如果我使用explode(' ', $my_text);这不能正常工作.如果我要通过一个网页的主体,它会用一个新的行为一个数组元素分配几个单词.(我的阵列中也不需要任何单词).
据我了解您的问题,您可以尝试以下方法:
$sentence = 'is newegg.com a scam ? - fraudwatchers';
$words = explode(' ', $sentence);
Run Code Online (Sandbox Code Playgroud)
一个更高级的答案 - 这个将处理所有白色字符,如标签和换行符:
$words = preg_split("/\s+/", $sentence);
Run Code Online (Sandbox Code Playgroud)
如果您需要过滤掉非单词,您也可以使用array_filter.请注意,这不会处理非拉丁文字.
$words = array_filter($words, function($word) { return preg_match('/^\w+$/', $word); });
Run Code Online (Sandbox Code Playgroud)
对于多语言单词匹配,您可以检查Unicode字符属性文章.
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |