Дешифратор коротких URL-адресов   •   Online-инструменты
2 447 просм
1 комм
Поделиться:

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

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

Поставленные задачи легко решаются с помощью 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>

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

1
комментарий
ANDROS
21.11 в 20:59
Благодарен. В принципе можно даже вставить в любой движок!
  • 1
Гостям запрещено учавствовать в обсуждениях сайта. Авторизуйтесь, чтобы иметь возможность оставить свое мнение о материале или задать вопрос.