2015-05-21 4 views
1
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

Хотя ваша идея с explode будет работать, есть более простые способы. Вы можете использовать strpos, чтобы найти подстроку внутри строки. Если подстрока не найдена, она вернет false. Если вы хотите случай нечувствительность вы можете для исходной строки, чтобы быть в нижнем регистре (или в верхнем регистре) с strtolower (или strtoupper):

if(strpos(strtolower($string),'oil')!==false) 
{ 
    // string found 
} 
else 
{ 
    // string not found 
} 
0

использование strpos() функции в PHP, если определенная строка имеет место, то это означает, что ваша строка имеет это конкретное слово или символ.

Просто взгляните на простое решение в соответствии с вашими требованиями

foreach(explode($wholesentence,"\n") as $yourstrimg) 
    if (strpos($yourstrimg,'oil') !== false) { 
     echo 'oil'; 
    } 
} 

Примечание:

"\n" просто используется для обозначения новой линии здесь, она также может быть различной разрыв строки изменения оператора на разных языках, например, в html "<br />"