Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » preg_match_all не выделяет в массив близкорасположенные области
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
W.M.
Участник
Средний рейтинг: 4.5 | Оценок: 2

Зарегистрирован: Mar 2004
Место проживания:
Публикаций: 84
Статус: W.M. в оф-лайне
Question preg_match_all не выделяет в массив близкорасположенные области [сообщение #69376]

Задача такая: Есть строка. В ней нужно найти слова из списка, выделить жирным и по бокам от них оставить по нескольку слов, ну штук по 10 к примеру (не важно сколько).

Ð_ешаю так(в этом примере оставляются не 10 слов а по 80 символов и потом (здесь не показано) отбрасывается с начала и с конца по неполному слову):

PHP:


$words 
= implode("|", $words_array);
$str = preg_replace("/($words)/i", "<b>1</b>", $str);
    
$tmp = preg_match_all("|.{0,80}<b>($words)</b>.{0,80}|i", $str, $hlarray);
print_r($hlarray);


Вот. Если между словами в $words больше 80 символов, не важно где они находятся хоть по краям $str, все работает замечательно. Если же слова стоят рядышком, перестает работать, выводит что-то типа Warning: Unknown modifier 'а' in (script name) и ругается на строку с preg_match_all

Подскажите плиз где ошибка, и есть ли она вообще (на счет пересечения областей выделения в массив - может так и не должно работать?) а я пока сам поищу поэксперементирую...

Спасибо!

W.M. добавил 29-07-2004 в 15:25:40:
Так, вопрос снимается

Тыкнули пальцем в мануал:
After the first match is found, the subsequent searches are continued on from end of the last match.

Буду искать другие пути... Хотя все навно не понятно, если он после каждого поиска "отрезает" уже просмотренную часть, должен находить тогда хотя бы первое и последнее вхождение... а он выдает ошибку

Сообщение было отредактировано W.M. 29-07-2004 в 14:05

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 29-07-2004 14:03
Нажмите сюда для просмотра профайла W.M. Отправить Персональное сообщение W.M. Найти сообщения от W.M. Добавить W.M. в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
W.M.
Участник
Средний рейтинг: 4.5 | Оценок: 2

Зарегистрирован: Mar 2004
Место проживания:
Публикаций: 84
Статус: W.M. в оф-лайне
[сообщение #69406]

Вроде и с остальным разобрался... ошибка была в синтаксисе regexp-a, теперь выделяет все что нужно...

Всем спасибо за внимание тему можно закрывать

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 30-07-2004 08:23
Нажмите сюда для просмотра профайла W.M. Отправить Персональное сообщение W.M. Найти сообщения от W.M. Добавить W.M. в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 11:03.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.10785890 seconds (92.65% PHP - 7.35% MySQL) with 23 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.