我有一个字符串如下:
is newegg.com a scam ? – fraudwatchers
当我将该字符串放入数组时,使用以下代码:
$title_word = str_word_count(“is newegg.com a scam ? – fraudwatchers”, 1);
它给了我以下结果:
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)
我希望一个数组元素包含整个世界“newegg.com”
,另一个数组元素包含“?”
你能告诉我如何通过一个例子来做到这一点。任何帮助将不胜感激。
更新:
如果我使用explode(' ', $my_text);
这不能正常工作。如果我要通过一个网页的主体,它会用一个新的行为一个数组元素分配几个单词。
(我的数组中也不需要任何单词)。
答案 0 :(得分:5)
据我了解您的问题,您可以尝试以下操作:
$sentence = 'is newegg.com a scam ? - fraudwatchers';
$words = explode(' ', $sentence);
一个更高级的答案 - 这个将处理所有白色字符,如标签和换行符:
$words = preg_split("/\s+/", $sentence);
如果您需要过滤掉非单词,也可以使用array_filter
。请注意,这不会处理非拉丁文字。
$words = array_filter($words, function($word) { return preg_match('/^\w+$/', $word); });
对于多语言单词匹配,您可以查看Unicode character properties文章。
答案 1 :(得分:1)
你不只是意味着:
$words = explode(" ", "is newegg.com a scam ? – fraudwatchers");
答案 2 :(得分:0)
使用php explode
$array=explode(" ", $your_text);