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
.
Но мне было интересно, есть ли более быстрые способы?
используйте функцию strpos()
в php, если эта конкретная строка имеет позицию, то это означает, что ваша строка имеет это конкретное слово или символ.
Просто взгляните на простое решение согласно вашему требованию
foreach( explode($wholesentence,"\n" ) as $yourstrimg )
if (strpos($yourstrimg,'oil') !== false) {
echo 'oil';
}
}
Заметка:
"\n"
просто используется для обозначения новой строки здесь, это может быть и другое изменение оператора разрыва строки на разных языках, например, в html это "<br/>"
Хотя ваша идея с explode
будет работать, есть более простые способы. Вы можете использовать strpos
для поиска подстроки внутри строки. Если подстрока не найдена, она вернет false. Если вы хотите нечувствительность к регистру, вы можете для исходной строки быть строчным (или верхним) с помощью strtolower
(или strtoupper
):
if( strpos(strtolower($string),'oil')!==false )
{
// string found
}
else
{
// string not found
}
Вы можете использовать функцию strpos
. Вот связанный с этим вопрос: как проверить, содержит ли строка определенное слово в PHP? ,