Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2017, 20:11   #1
Denis54
Новичок
Джуниор
 
Регистрация: 10.09.2017
Сообщений: 2
По умолчанию Нужна помощь в preg_match

Здравствуйте! Требуется ваша помощь.
Есть:
1.
foreach ($keywordlist as $key) { $iskeyworded+= preg_match('/('.mb_strtolower($key, 'UTF8').')/',mb_strtolower($name, 'UTF8')); };

2.
foreach($valuelist as $ivalue) {
if (preg_match('/'.mb_strtolower($value, 'UTF8').'/',mb_strtolower($ivalue, 'UTF8')))$value=$ivalue;}

Все это работает для сравнения строк из колонки базы данных - в тексте в файле, но сейчас находит слова даже если часть слова присутствует.
Необходимо сделать чтобы было по точному слову, например:
- ищем слово ЛАК в тексте, но чтобы ЛАКИРОВАННАЯ МЕБЕЛЬ не находил. Только если есть слово ЛАК.
Заранее благодарен....
Denis54 вне форума Ответить с цитированием
Старый 10.09.2017, 23:37   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

можно попробовать ставить пробел в конце " ", не знаю пойдет такой вариант.

Сообтветственно:

"лак " != "лакированный"
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 11.09.2017, 11:02   #3
Denis54
Новичок
Джуниор
 
Регистрация: 10.09.2017
Сообщений: 2
По умолчанию

Цитата:
Сообщение от pompiduskus Посмотреть сообщение
можно попробовать ставить пробел в конце " ", не знаю пойдет такой вариант.

Сообтветственно:

"лак " != "лакированный"
т.е:
foreach ($keywordlist as $key) { $iskeyworded+= preg_match('/('.mb_strtolower($key, 'UTF8').')/'" ",mb_strtolower($name, 'UTF8')); };

И
foreach($valuelist as $ivalue) {
if (preg_match('/'.mb_strtolower($value, 'UTF8').'/'" ",mb_strtolower($ivalue, 'UTF8')))$value=$ivalue;}
Denis54 вне форума Ответить с цитированием
Старый 11.09.2017, 12:03   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Denis54 Посмотреть сообщение
т.е:
foreach ($keywordlist as $key) { $iskeyworded+= preg_match('/('.mb_strtolower($key, 'UTF8').')/'" ",mb_strtolower($name, 'UTF8')); };
Denis54, не страдай ерундой – читай мануал по preg_match.
Пример #2 – это именно то, что тебе нужно.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
preg_match регулярка. Dexes PHP 3 10.02.2012 11:14
Преимущества preg_match() Dexes PHP 5 12.01.2012 17:56
Очень нужна помощь c матрицами, макросами в Excel. Заранее благодарен(поверьте, очень-очень нужна помощь) Farridjan Помощь студентам 1 03.07.2009 12:24
Очень нужна помощь с написанием программы... срочно(буду благодарен за помощь) 5Paladin5 Помощь студентам 3 02.07.2009 09:12
preg_match(); _SERGEYX_ PHP 6 09.10.2008 09:35