我是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
这不是我想要的。我想删除完全和的单词,而不是包含和字符的单词。
无论如何要解决这个问题?有谁能够帮我?非常感谢..: - )
答案 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);
?>