this is a sentence oil on a line
this is another sentence
another one
hey oil sentence
我有这4个句子,我想做的是检查这句话(每个句子在一行上)是否有单词oil
。如果确实如此,我会删除整个句子。
所以我最终会这样:
this is another sentence
another one
包含oil
的行已被删除。
我知道exploding
这些行到数组。然后使用foreach
检查oil
。删除元素,然后imploding
。
但我想知道是否有更快的方法?
答案 0 :(得分:0)
您可以使用strpos
功能。以下是相关问题:How do I check if a string contains a specific word in PHP?。
答案 1 :(得分:0)
虽然您对explode
的想法可行,但有更简单的方法。您可以使用strpos
在字符串中查找子字符串。如果没有找到子字符串,则返回false。如果您想要不区分大小写,则可以使用strtolower
(或strtoupper
)将原始字符串全部小写(或大写):
if( strpos(strtolower($string),'oil')!==false )
{
// string found
}
else
{
// string not found
}
答案 2 :(得分:0)
在php中使用strpos()
函数,如果该特定字符串有一个位置,则意味着您的字符串具有该特定的单词或字符。
根据您的要求,只需查看一个简单的解决方案
foreach( explode($wholesentence,"\n" ) as $yourstrimg )
if (strpos($yourstrimg,'oil') !== false) {
echo 'oil';
}
}
注意:强>
"\n"
这里仅用于表示新行,它也可以是不同语言中不同的换行符操作符更改,例如在html中它是"<br />"