Допустим, есть строка:
привет меня зовут Крокодил Гена, я потерял чебурашку
Есть массив: $arr = array('Гена', 'потерял');
Как можно с помощью функции in_array()
или же регулярных выражений (я не знаю как правильнее в данной ситуации) найти совпадение в данной выше строке, хотя бы с одним словом в массиве $arr
?
Используйте функцию strpos()
:
<?php
$string = 'привет меня зовут Крокодил Гена, я потерял чебурашку';
$arr = array('Гена', 'потерял');
for ($i = 0; $i < count($arr); $i++) {
if (strpos($string, $arr[$i]))
echo 'Слово ' . $arr[$i] . ' найдено в строке';
}
Либо можно реализовать это через регулярные выражения, функцией preg_match()
:
if (preg_match("/$arr[$i]/", $string)) {
echo 'Слово ' . $arr[$i] . ' найдено в строке';
}
В вопросе указано про функцию in_array()
. В таком случае, нужно разделить строку на массив, потому что данная функция работает лишь с массивами. Сделаем это через функцию preg_split()
, так как в строке могут присутствовать и запятые, а в таком случае проще сделать через regex.
<?php
$string = 'привет меня зовут Крокодил Гена, я потерял чебурашку';
$string = preg_split("/[\s,]+/", $string);
$arr = array('Гена', 'потерял');
for ($i = 0; $i < count($arr); $i++) {
if (in_array($arr[$i], $string))
echo 'Слово ' . $arr[$i] . ' найдено в строке';
}
Я бы использовал первый пример, потому что он проще для понимания и реализации.
Самый изящный и, скорее всего, самый быстрый вариант провернуть такое - это сделать простенькую проверку шаблона (регулярного выражения):
<?php
$subject = 'привет меня зовут Крокодил Гена, я потерял чебурашку';
$pattern = '/'.implode('|', array('Гена', 'потерял')).'/';
$matches = array();
print_r($pattern);
echo 'Result: '.preg_match_all($pattern, $subject, $matches)."\n";
print_r($matches);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Доброго дня! Есть некоторая форма, которая <form action='serverphp' id='cl_form' method='POST' target='_blank'>
Привет всем, такой вопрос как вызывая функцию oracle из php вернуть значение не стандартного типа