Форум программистов, компьютерный форум, киберфорум
PHP: RegExp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 29.12.2020
Сообщений: 15

Поиск слов или словосочетания в тексте

11.06.2021, 15:33. Показов 2361. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть текст и input куда пользователь вводит слова или словосочетания , если такие слова или одно слово или словосочетание есть в тексте то их цвет меняется на красный. Cлово, или несколько слов записываются через пробел, если пользователь вводит словосочетания в кавычках это означает что ищется только полное словосочетания.

Если я ввожу словосочетание в кавычках то все работает . Но как сделать что бы если я ввожу слово без кавычек или несколько слов через пробел он искал их не как целое словосочетание, а как отдельные слова. Подскажите пж.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
$text = "Lorem ipsum dolor sit amet consectetur adipisicing elit. Aut a voluptas quam, adipisci cum veritatis tenetur debitis et vero accusantium minus id quia, libero ipsam obcaecati maxime ipsa cupiditate harum modi doloribus? Voluptatem dignissimos quaerat, enim exercitationem nulla voluptatum mollitia qui facere porro velit illum blanditiis delectus fugiat iure, voluptates doloribus nesciunt aut. Facilis repudiandae maiores accusantium nemo sed rem aspernatur, minima dolorem tenetur quis facere ipsum optio porro praesentium repellat. Doloribus, tempora veritatis natus ea explicabo fugiat voluptatem nihil, assumenda numquam aperiam dolore, nesciunt corrupti sit est at quia illo ex. Debitis illum reprehenderit, molestias, maiores accusantium possimus unde pariatur praesentium autem suscipit, ducimus expedita est architecto ad deleniti. Explicabo earum reiciendis, labore eius temporibus inventore quisquam minima ab facilis? Velit amet atque et qui sapiente iusto voluptates porro rem mollitia reiciendis animi unde ipsa incidunt alias quos, sit nemo debitis odit omnis. Eum mollitia vero doloribus eaque, cupiditate sequi esse magni nulla ex, soluta, quos aut! Nisi ullam voluptatem beatae necessitatibus, perspiciatis ducimus architecto quae corporis ad neque ipsum modi voluptatibus quo itaque libero dolorem pariatur ipsam tenetur doloribus minus fuga enim, adipisci eveniet explicabo. Aut repellat eveniet at. Temporibus sed ab sint, quia quibusdam laboriosam. Sequi, eaque.";
 
$str = $_POST["str"];
 
//Находит словосочетание в кавычках
if(preg_match_all("/(\w+)/", $str)){
    $str = trim($str,'"');
    str_replace($str, '<b>'.$str.'</b>', $text);
    $text = str_replace($str,'<b>'.$str .'</b>' , $text);
}
    
 
 
 
//Это код который находит слова без кавычек, как их объединить чтобы все норм работало с кодом который выше
// $exploded = explode(" ", $str);
//     foreach($exploded as $key => $word){
//     $text = str_replace($word,'<b>'.$word .'</b>' , $text);
// }
 
 
echo $text;

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        b{
            color: red;
        }
    </style>
</head>
<body>
    <h1>Найти строку в тексте</h1>
    <form action="index.php" method="POST">
        <p>Ключевая строка: </p> 
        <input name="str" type="text">
        <button type="submit">Отправить</button>
        <p name="text" class="text">
        <?php 
            require_once "search.php";
        ?></p>
    </form>
</body>
</html>
- пример
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.06.2021, 15:33
Ответы с готовыми решениями:

Поиск словосочетания в тексте, и возврат текста до знака препинания
Есть текст в котором есть определенное слово, как мне можно достать весь текс после этого словосочетания до определенного знака или слова....

Поиск в текстовом файле двух одинаковых слов
Здравствуйте! уважаемые пользователи! я начинающи ученик самоучка в php поэтому мало в чом разбираюсь. помогите пожалуйста найти php...

Поиск в текстовом файле адресов электронной почты
Здравствуйте, есть такое задание: реализовать программу на ПХП, которая ищет в текстовом фале записи эл. почты формата XXXXXX(любое...

1
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
11.06.2021, 18:54
Лучший ответ Сообщение было отмечено pirs228 как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 
$text = "Lorem ipsum dolor sit amet consectetur adipisicing elit. Aut a voluptas quam, adipisci cum veritatis tenetur debitis et vero accusantium minus id quia, libero ipsam obcaecati maxime ipsa cupiditate harum modi doloribus? Voluptatem dignissimos quaerat, enim exercitationem nulla voluptatum mollitia qui facere porro velit illum blanditiis delectus fugiat iure, voluptates doloribus nesciunt aut. Facilis repudiandae maiores accusantium nemo sed rem aspernatur, minima dolorem tenetur quis facere ipsum optio porro praesentium repellat. Doloribus, tempora veritatis natus ea explicabo fugiat voluptatem nihil, assumenda numquam aperiam dolore, nesciunt corrupti sit est at quia illo ex. Debitis illum reprehenderit, molestias, maiores accusantium possimus unde pariatur praesentium autem suscipit, ducimus expedita est architecto ad deleniti. Explicabo earum reiciendis, labore eius temporibus inventore quisquam minima ab facilis? Velit amet atque et qui sapiente iusto voluptates porro rem mollitia reiciendis animi unde ipsa incidunt alias quos, sit nemo debitis odit omnis. Eum mollitia vero doloribus eaque, cupiditate sequi esse magni nulla ex, soluta, quos aut! Nisi ullam voluptatem beatae necessitatibus, perspiciatis ducimus architecto quae corporis ad neque ipsum modi voluptatibus quo itaque libero dolorem pariatur ipsam tenetur doloribus minus fuga enim, adipisci eveniet explicabos. Aut repellat eveniet at. Temporibus sed ab sint, quia quibusdam laboriosam. Sequi, eaque.";
 
if ('POST' === $_SERVER['REQUEST_METHOD']) {
    $input = filter_input(INPUT_POST, 'str');
 
    foreach (str_getcsv($input, ' ') as $needle) {
        $text = str_replace($needle, "<b>{$needle}</b>", $text);
    }
}
 
echo $text;
Добавлено через 1 минуту
Можно еще через preg_replace, объединяя массив из str_getcsv с помощью implode. Но нужно пропускать входную строку через preg_quote.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2021, 18:54
Помогаю со студенческими работами здесь

Поиск текста по базе данных
Проверьте в чем ошибка скрипта. Когда скрипт выполняю, вижу просто белую страницу: &lt;?php ini_set('error_reporting', E_ALL); ...

Сложный поиск по БД
PHP + MySQL. Разрабатываю виртуального собеседника по мотивам темы https://www.cyberforum.ru/algorithms/thread95666.html На входе поиску...

Поиск слов на странице
подскажите пожалуйста скрипт поиска слов на стр. облазил весь инет нормальный не нашел :(

Поиск в тексте, кодировка UTF-8 и др.
Вот функция поиска в тексте нескольких слов : $str = &quot;aaaa aa bbbb bb ccccc cc dddddd dd&quot;; $search = array('aa', 'cc'); $str =...

Поиск текста в файлах (FTP)
Нужно найти определенный текст, просканировав содержимое всех файлов .php и .tpl на FTP сервере... может кто то знает где взять такой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru