powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (php 5.2) preg_match() Загвоздка с Регуляркой. Обработка результатов поиска.
1 сообщений из 1, страница 1 из 1
(php 5.2) preg_match() Загвоздка с Регуляркой. Обработка результатов поиска.
    #38479969
Vezha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравия. Не судите строго. Я только учусь.
в базе MySQL храню содержимое блока <div id="content"> (контент страниц с HTML разметкой).
Код: php
1.
2.
3.
4.
$res = mysql_query ("SELECT * FROM `main` WHERE `content` LIKE  '%Поисковый_запроС%'"); // получаю все строки с совпадением
$f = mysql_fetch_array($res); // в цыкле перебераю найденные строки

$regx = preg_match("/(?<=^|>)([^<]*".Поисковый_запроС."[^<]*)(?=<|$)/ui", $f[content], $found); // рабочая проверка. Результат:

Код: html
1.
2.
3.
4.
5.
6.
7.
$regx =
true для Поисковый_запроС
true для Поисковый_запроС<br/>
true для <br/>Поисковый_запроС
true для <i>Поисковый_запроС</i>
true для <i class="Поисковый_запроС">Поисковый_запроС</i>
false для <i class="Поисковый_запроС"></i>


А теперь та самая сложность :
нужно модернизировать регулярное выражение, чтоб закомментированный в <!-- Поисковый_запроС --> не учитывался:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
$regx =
true для Поисковый_запроС<!--Поисковый_запроС-->
true для <i>Поисковый_запроС</i><!--Поисковый_запроС-->
true для <i class="Поисковый_запроС">Поисковый_запроС</i><!--Поисковый_запроС-->

false для <!-- ... Поисковый_запроС ... -->
false для <!-- ... Поисковый_запроС ... --><i class="Поисковый_запроС">
false для <i class="Поисковый_запроС"></i><!-- ... <i>Поисковый_запроС</i> ... Поисковый_запроС ... -->


Я добавил: (?<!<!--).* ... .*(?!-->) и вышло так:
Код: php
1.
$regx = preg_match("/(?<!<!--).*(?<=^|>)([^<]*".Поисковый_запроС."[^<]*)(?=<|$).*(?!-->)/ui", $f[content], $found);


А результат не такой как я ожидал !
а именно - результат вообще не изменился .
Кто-то понимает в чём тут ошибка ?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (php 5.2) preg_match() Загвоздка с Регуляркой. Обработка результатов поиска.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]