0

我是 PHP 编程新手。我需要你的帮助来完成我的作业。

我想爆出下面这句话:我爱我的乐队和我的猫成数组。

但我需要使用空格和单词以及作为分隔符。所以它应该变成这样:

$arr[0] -> I
$arr[1] -> love
$arr[2] -> my
$arr[3] -> band
$arr[4] -> my
$arr[5] -> cat

我试过这样:

$words = "I love my band and my cat"
$stopwords = "/ |and/";
$arr = explode($stopwords, $words);

但问题是,它还会删除字符从词中删除,所以它变成了这样:

$arr[0] -> I
$arr[1] -> love
$arr[2] -> my
$arr[3] -> b
$arr[4] -> my
$arr[5] -> cat

这不是我想要的。我想删除完全的单词,而不是包含字符的单词。

有没有办法解决这个问题?有谁能够帮我?非常感谢.. :-)

4

2 回答 2

3

如果您想避免and在单词中间分裂,您必须过滤结果列表 ( array_diff),或者使用更复杂的正则表达式。然后还要考虑preg_match_all而不是拆分:

 preg_match_all('/  (?! \b and \b)  (\b \w+ \b)  /x', $input, $words);

这只会搜索连续的单词字符,而不是分解空格。并且断言?!将跳过and.

于 2013-02-20T03:23:59.227 回答
-4

尝试这个:

<?php
$words = "I love my band and my cat";
$clean = str_replace(" and",'',$words);
$array = explode(" ",$clean);
print_r($array);
?>
于 2013-02-20T03:19:31.497 回答