Узнать разрешение вашего экрана и IP адрес   •   Online-инструменты
1 714 просм
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
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария