Артём Мáлков

Как проверить наличие слова, фразы или текста в строке на PHP/JavaScript

21 ноя1 комм

Вы получаете некий текст в ваш скрипт, и ваша задача – проверить, присутствует ли нужная вам фраза в этом тексте или нет, и в последующем, при положительном раскладе вещей, выполнить какое-то действие.

Поставленные задачи легко решаются с помощью PHP и JavaScript, а как именно – я сейчас расскажу.

Как проверить наличие слова, фразы или текста в строке на PHP

В PHP существуют два способа, с помощью которых можно узнать наличие искомой фразы в строке.

Первый способ – это регулярные выражения. Здесь мы используем функцию «preg_match» для обхода по всему тексту.

Реализация:

<?php

	$content = "Hello, World!";

	if(preg_match("/World/", $content)) {
	
		echo "Слово найдено";
		
	}
	
?>

И, соответственно, то же самое для отрицания:

<?php

	$content = "Hello, World!";

	if(!preg_match("/PHP/", $content)) {
	
		echo "Слово не найдено";
		
	}
	
?>

Помимо этого, есть и второй способ – это функция «strpos», которая возвращает позицию первого вхождения указанной фразы.

Использование:

<?php

	$content = "Hello, World!";

	if(strpos($content, "World") !== false) {
	
		echo "Слово найдено";
		
	}
	
?>

И то же самое для отрицания:

<?php

	$content = "Hello, World!";

	if(strpos($content, "PHP") === false) {
	
		echo "Слово не найдено";
		
	}
	
?>

Если вы ищете небольшие участки текста, то в таком случае для использования предпочтителен второй вариант - так как он менее ресурсоемкий.

Как проверить наличие слова, фразы или текста в строке на JavaScript

На JavaScript осуществить проверку наличия текста в строке можно несколькими способами.

Один из которых – все те же регулярные выражения.

Пример реализации:

<script>

	var pattern = /World/;
	var content = "Hello, World!";
	var exists = pattern.test(content);

	if(exists) {
	
		alert("Слово найдено");
		
	}
	
</script>

И то же самое для отрицания:

<script>

	var pattern = /PHP/;
	var content = "Hello, World!";
	var exists = pattern.test(content);

	if(!exists) {
	
		alert("Слово не найдено");
		
	}
	
</script>

Еще один рабочий вариант решения проблемы – это метод «indexOf», который помогает подсчитать количество совпадений при поиске.

Реализация:

<script>

	var pattern = "World";
	var content = "Hello, World!";
	
	if(content.indexOf(pattern) !== -1) {
	
		alert("Слово найдено");
		
	}
	
</script>

И то же самое для отрицания:

<script>

	var pattern = "PHP";
	var content = "Hello, World!";
	
	if(content.indexOf(pattern) === -1) {
	
		alert("Слово не найдено");
		
	}
	
</script>

В обоих способах существенной разницы в скорости нет – используйте тот, что более удобен для вас.

Рекомендуем к просмотру
Как проверить, содержит ли массив определенное слово, фразу или текст на PHP/jQuery/JavaScript?
Статьи и советы
Как использовать переменную в регулярном выражении в PHP/JavaScript?
Статьи и советы
Как удалить все буквы, цифры и спецсимволы в строке на PHP/JavaScript?
Статьи и советы
1
комментарий
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 3
    766
      •  Гости
    21 ноя в 20:59

    Благодарен. В принципе можно даже вставить в любой движок!

Подняться наверх
«Pandoge» - помощник вебмастера