Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Тексты > Что не так в регулярке? |
Автор: Цербер 12.5.2008, 09:04 |
Доброе время суток!!! вся тема состоит в том что нужно вытащить текст из строки указав что этот текст находится между какими то символами!!! вот сама строка ФИО руководителя</td><td> Фамилия Имя Отчество</td> вот моя регулярка $name = '/(ФИО руководителя\s<\/td><td>)[А-Яа-я]{1,}\s[А-Яа-я]{1,}\s[А-Яа-я]{1,}(?=<\/td>)/'; ФИО руководителя</td><td> - находится в левой части от искомой строки. </td> - находится в правой части искомой строки [А-Яа-я]{1,}\s[А-Яа-я]{1,}\s[А-Яа-я] а это я пытался указать что там три слова русских и между ними пробел! прошу строго не судить регулярные выражения плохо знаю по статьям по примерам что то сам пытался сделать! заранее благодарю! |
Автор: amg 13.5.2008, 10:53 | ||
|
Автор: Цербер 14.5.2008, 07:22 | ||||
amg
что то не работает почему то =( |
Автор: amg 14.5.2008, 08:23 | ||
Работает
|
Автор: Цербер 14.5.2008, 13:37 |
amg Огромнейшее спасибо! действительно работает! а у меня ещё такая задачка появилась также между символами нужно вытащить номера телефонов если этот номер там один не проблема у меня получается всё нормально! а если их больше и они разделяются "," или другими сепараторами как задать такой шаблон?? заранее благодарствую!!! $tel = '|Телефоны\s*</td>\s*<td>\s*(\s*\[0-9]*\S*\s*\[0-9]*\S*\s*\[0-9]*\s*)\s*</td>|'; не работает=( |
Автор: amg 14.5.2008, 14:47 | ||
Как то так
|
Автор: Цербер 14.5.2008, 15:06 | ||
amg дело в том что числовое значение могут иметь не только телефоны поэтому опять же нужно вытащить их между какими то символами в данном случае это: Телефоны</td><td> - начало строки 2918043, 2833939, 1200055 - искомый текст </td> - конец строки я ещё вот такой вариант использовал но не работает=(
|
Автор: amg 14.5.2008, 15:40 | ||
Весь вопрос в том, какие еще данные, кроме собственно телефонов, могут быть внутри тэга. В неблагоприятном случае задачу проще решать в два шага: сначала выкусить содержимое тэга, и в нем поискать что-то похожее на номера телефонов. Допустимые номера телефонов см. выше.
|
Автор: Цербер 15.5.2008, 08:47 |
amg и ещё раз спасибо за оказанную помощь! хоть немного стал въежать в тему с регуляркой=) |
Автор: Цербер 15.5.2008, 10:54 | ||
amg есть небольшая загвостка в
он уже в массиве $phones содержит телефоны, в номере последнего отсутствует последняя цифра=( |
Автор: Druidik25 15.5.2008, 11:50 |
А если к переменной где храниться телефоны добавить один символ в конце. Мож регулярка откидывает символ? Добавь в переменную пробел в конце например... И попробуй выкинуть все переносы строк... Тама тож может быть загвоздка. |
Автор: Цербер 15.5.2008, 13:40 |
amg, Druidik25 благодарю за проявленное внимание к моей проблеме! пометка "решённый" ![]() |