将字符串中的所有单词都添加到数组中?

Jus*_*n k -1 html php

我有一个字符串如下: 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);这不能正常工作.如果我要通过一个网页的主体,它会用一个新的行为一个数组元素分配几个单词.(我的阵列中也不需要任何单词).

rr-*_*rr- 5

据我了解您的问题,您可以尝试以下方法:

$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字符属性文章.