Как извлечь слово до и после определенного ключевого слова в строке?

1

Мне было интересно, что лучший способ получить слово до и после определенного ключевого слова из строки?

Пример:

$e = "Kuru Kavrulmuş soya Fasulye: 100 gram, ortalamadır";
$_GET['word'] = 'soya';

Я хотел бы затем повторить Kavrulmuş и Fasulye.

Мой динамический фрагмент (для получения строки)

if ( stripos($e, $_GET['word']) !== false) {
    echo '<div class="yellow">'. highlight($e,$_GET['word']) . '</div>';
}

Есть идеи?

  • 0
    спасибо @ Rizier123 Извините за мой плохой английский.
Теги:
string

1 ответ

4
Лучший ответ

Вы можете использовать простое регулярное выражение с preg_match() чтобы соответствовать слову до и после вашего ключевого слова, например

$str = "Kuru Kavrulmuş soya Fasulye: 100 gram, ortalamadır"; 
$_GET['word'] = 'soya';

preg_match("/(\w+) " . $_GET['word'] . " (\w+)/mu", $str, $matches);

print_r($matches);

вывод:

Array
(
    [0] => Kavrulmuş soya Fasulye
    [1] => Kavrulmuş
    [2] => Fasulye
)

Регулярное выражение просто объясняет использование \w для словных символов ([a-zA-Z0-9_]) с квантором + чтобы соответствовать 1 или более раз. Таким образом, вы можете записать слово до и после вашего ключевого слова.

  • 1
    Отличный простой подход! Доброе утро!
  • 1
    @JayBlanchard Утро Сэм :)
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню