Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> регулярные выражения, тяжело начало 
:(
    Опции темы
agarheim
Дата 27.9.2006, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 2.3.2006

Репутация: нет
Всего: нет



суть проблемы 
есть текст 
Код

<br> <b>Опыт работы</b>: от 2 лет <br> <b>Образование</b>: высшее <br> <br> Холдингу «AV Group» требуется финансовый аналитик.<br /> Функциональные обязанности: <br /> · анализ отчетности, <br /> · анализ хоз. деятельности предприятия,<br /> · бюджетирование.<br /> Требования к кандидату:<br /> · Высшее экономическое образование;<br /> · Опыт работы: не менее 3 лет, в торговых или инвестиционных компаниях;<br /> · Знание ПК: 1С, очень хорошее знание Excel <br /> 

из него мне хочется выковырять:
Код

Холдингу «AV Group» требуется финансовый аналитик.<br /> Функциональные обязанности: <br /> · анализ отчетности, <br /> · анализ хоз. деятельности предприятия,<br /> · бюджетирование.<br /> Требования к кандидату:<br /> · Высшее экономическое образование;<br /> · Опыт работы: не менее 3 лет, в торговых или инвестиционных компаниях;<br /> · Знание ПК: 1С, очень хорошее знание Excel <br />

написал вот такое регулярное выражение:
Код

preg_match("/(<br>)*(<br>)[\s\S]*(<br \/>)[\s\S]*(?=\s<br><br>)/U",$s8, $matches88);
echo $s88=htmlspecialchars($matches88[0]);

а мне выводит всеравно строку которая была изначально. Подскажите что не так?!
PM MAIL WWW ICQ   Вверх
skyboy
Дата 27.9.2006, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



потому что нулевой элемент содержит всю строку.

Добавлено @ 16:14 
точнее, вся подстрока, которая совпала с шаблоном.
PM MAIL   Вверх
agarheim
Дата 27.9.2006, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 2.3.2006

Репутация: нет
Всего: нет



хм.. а можно ткнуть носом что нужно чтоб получить ожидаемый результат.потому что что-то голова не варит в ту сторону.
PM MAIL WWW ICQ   Вверх
Vaulter
Дата 27.9.2006, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 6
Всего: 22



agarheim, смотри matches88[4] или matches88[5]


--------------------
PM MAIL WWW ICQ   Вверх
skalex
Дата 27.9.2006, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: 8
Всего: 23



agarheim, твое регулярное выражение напоминает "шаманские пляски с бубном".  smile 

Не мог ты описать "алгоритм" того, чего тебе надо сделать ...
PM   Вверх
agarheim
Дата 27.9.2006, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 2.3.2006

Репутация: нет
Всего: нет



спасибо за хороший коментарий моей работы. просто я только начинаю. а сделать надо быстро. а доразобраться потом.
PM MAIL WWW ICQ   Вверх
skalex
Дата 27.9.2006, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: 8
Всего: 23



Может так?

Код

$text = "<br> <b>Опыт работы</b>: от 2 лет <br> <b>Образование</b>: высшее <br> <br> Холдингу «AV Group» требуется финансовый аналитик.<br /> Функциональные обязанности: <br /> · анализ отчетности, <br /> · анализ хоз. деятельности предприятия,<br /> · бюджетирование.<br /> Требования к кандидату:<br /> · Высшее экономическое образование;<br /> · Опыт работы: не менее 3 лет, в торговых или инвестиционных компаниях;<br /> · Знание ПК: 1С, очень хорошее знание Excel <br />";
preg_match("%^.+?<br>\s*<br>\s*(.*)$%", $text, $m);
echo htmlspecialchars($m[1]);

PM   Вверх
agarheim
Дата 27.9.2006, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 2.3.2006

Репутация: нет
Всего: нет



skalex, спасибо. то что надо. Вот теперь сесть с мануалом и разобратьси как оно работает. потому что

Добавлено @ 16:48 
просто читая мануал быстро неполучается, а начальство требует .
PM MAIL WWW ICQ   Вверх
skalex
Дата 27.9.2006, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: 8
Всего: 23



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

Может тебе будет проще понять на примерах ...

Код
echo '<pre>';
$text = "aaa1bbb2ccc";

preg_match("%^(.*)1(.*)2(.*)$%", $text, $m);
print_r($m);

preg_match("%^.*1(.*)2.*$%", $text, $m);
print_r($m);

preg_match("%^(?:.*)1(.*)2(?:.*)$%", $text, $m);
print_r($m);


Это сообщение отредактировал(а) skalex - 27.9.2006, 17:05
PM   Вверх
agarheim
Дата 28.9.2006, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 2.3.2006

Репутация: нет
Всего: нет



Спасибо, помогло в моем изучении. дело сдвинулось.
PM MAIL WWW ICQ   Вверх
ZlojEzh
Дата 28.9.2006, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.10.2005
Где: Киев, Украина

Репутация: 10
Всего: 15



мудрите вы...
зачем тут реги?
здесь же достаточно простого экплода по '<br> <br>', а то и просто strlen/substr

PM MAIL ICQ   Вверх
agarheim
Дата 29.9.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 2.3.2006

Репутация: нет
Всего: нет



незнаю. на данный момент разбор текстовика полностью работает. Задача пере мной была поставлена следующая: текстовик с кучей резюмешек, которые надо по отдельности разрезать и залить потом в БД. мне показалось приемлемым этот вариант.
правда пока в базу некотрые вещи не получается залить.
PM MAIL WWW ICQ   Вверх
skalex
Дата 29.9.2006, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: 8
Всего: 23



ZlojEzh, вот поэтому то я и просил agarheim описать алгоритм ...

Цитата
правда пока в базу некотрые вещи не получается залить.


Это уже другой топик!  smile 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0543 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.