PHP爆炸词

时间:2013-02-20 03:13:41

标签: php

我是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);

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

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

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

无论如何要解决这个问题?有谁能够帮我?非常感谢..: - )

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:-4)

试试这个:

<?php
$words = "I love my band and my cat";
$clean = str_replace(" and",'',$words);
$array = explode(" ",$clean);
print_r($array);
?>