it-blog.club
Найди кота. Ищем котиков в тексте средствами PHP

Найди кота. Ищем котиков в тексте средствами PHP

Дорогие мои читатели и те кто просто случайно попал на эту грустную историю. У меня был кот. Но он убежал и потерялся. Мне удалось узнать, что этот проказник убежал и скрылся в одном большом тексте.  Как же хорошо, что я программист и смогу аж 3-мя разными способами узнать, точно ли он есть в этом тексте о котором я думаю.

И так, вот он текст в котором скрылся мой кот.

У нас есть кот. Зовут его Дрон. Он очень любит спать. Мой котик очень пушистый, не кусается, не царапается. Он очень старый и добрый. У него зелёные глаза и курносый нос. Летом он отдыхает в деревне. В дом заходит только поесть. Я видел как он дрался с другими котами и ему поранили лапку. Мы с бабушкой мазали котику лапку зелёнкой.

Разумеется это не мой текст, а просто какой-то найденный моим котом в необъятной сети интернет. А вот и он, Мой котик, выделен красным цветом. Давай те же попробуем точно узнать есть ли он в этом тексте или нет.

Для начала положим наш текст и кота в разные переменные:


$text = 'У нас есть кот. Зовут его Дрон. Он очень любит спать. Мой котик очень пушистый, не кусается, не царапается. Он очень старый и добрый. У него зелёные глаза и курносый нос. Летом он отдыхает в деревне. В дом заходит только поесть. Я видел как он дрался с другими котами и ему поранили лапку. Мы с бабушкой мазали котику лапку зелёнкой.';
$cat = 'Мой котик';

Способ 1

Воспользуемся выражением strripos(); в качестве первого параметра передаём наш текст, а второго, то что мы ищем.


$pos = strripos($text,$cat);
if($pos === false){
echo 'Как это не печально, но это не тот кот...';
} else {
echo 'Ура! Мы нашли этого кота!';
}

Разумеется мы найдём таким образом моего котика.

php strripos

Способ 2

Найдём котика вторым способом при помощи substr_count(); В качестве первого параметра так же пойдёт наш текст, а второго наш котик.
В отличии от прошлого способа, этот вернёт нам количество найденных котиков.


$col = substr_count($text, $cat);
if($col > 0){
echo 'Нам удалось обнаружить целых '.$col.' котика';
}

Данный скрипт выведет нам: Нам удалось обнаружить целых 1 котика

Но так как мы почти нашли моего проказника, я могу вам показать ещё один пример.


$cats = 'Первый котик, второй котик, третий собакен, четвёртый котик';
$col = substr_count($text, 'котик');
if($col > 0){
echo 'Нам удалось обнаружить целых '.$col.' котика';
}

Выведет нам: Нам удалось обнаружить целых 3 котика

php strripos 1 php strripos 1 php strripos 1

Способ 3

Сейчас я покажу вам ещё один способ как искать кого либо в тексте, но многим это покажется костылизацией. На самом деле если юзать этот способ для поиска кота, то это и будет костылём. Но, в зависимости от поставленной задачи, данный способ может оказаться и полезным.

Заюзаем explode() - первый параметр, то что ищем, второй, где ищем. Вообще данный способ, разобьёт строку на массив и мы просто посчитаем кол-во ключей.


$col = explode($cat,$text);
$col = count($col) - 1;
echo 'Мы нашли '.$col.' котика';

Выведет разумеется: Мы нашли 1 котика

Собственно мою зверюгу мы нашли. Как мы это сделали, я надеюсь, вы поняли и по этому до встречи. Не забывайтесь подписываться на обновления и поделиться этой записью в соц. сетях, а то мало ли кто ещё потерял своего кота.


it-blog.club 277
Автор: Ярослав Хмель


Если Вам понравилась статья, то можете поддержать блог переведя N сумму на кофе авторам или оплату хостинга!
В любом случае спасибо! А так же не забывайте про группу в ВК
ПОИСК ПО САЙТУ
Поддержать