0 / 0 / 0
Регистрация: 29.12.2020
Сообщений: 15

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

11.06.2021, 15:33. Показов 2434. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru