|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.12.2007, 23:11 | #1 |
Пользователь
Регистрация: 20.09.2007
Сообщений: 99
|
Помогите составить рег.выражение
Нужно пропарсить страницу, в которой есть искомая строка
Код HTML:
<A href="http://example.ru/index.php?do=addnews">Пример дня</A> Как указать то, что не должно стоять перед словом Пример, т.е. не должно быть тэга <a> (другие тэги могут присутствовать). Не знаю как такое описать [^<a] не то! Выкрутился тем, что перед Пример поставил : .{0,30} Но это все-таки не очень удачная мысль на мой взгляд! Что можно здесь сделать? PHP код:
Голова человеку дадена - не токмо шапку носить!
|
25.12.2007, 10:08 | #2 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
Это несложно сделать. Только объясните - что именно надо получить - текст или УРЛ?
|
25.12.2007, 12:53 | #3 |
Пользователь
Регистрация: 20.09.2007
Сообщений: 99
|
Из регулярки же понятно, что "вырезается" ссылка и выводится в $аrray[2][0].
А вопрос у меня такой. Как в середине строки рег.выр. задать условие, что не должно быть определенного тега (<а>)?
Голова человеку дадена - не токмо шапку носить!
|
25.12.2007, 15:42 | #4 | |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
Цитата:
ЗЫ. Советую поучится излагать свои мысли правильно, чтобы было доступно всем, особенно не телепатам. У вас кроме слов "вырезаю" и "выдергиваю" нет? Ведь можно написать проще. Зачем те, кто вам может помочь должны напрягаться, чтобы понять ваш вопрос? |
|
25.12.2007, 18:33 | #5 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,177
|
Кстати... о регулярных выражениях.....
чет вот давно думаю, как составить выражение вырезающее с исходного текста ровно N символов (без учета всяких спец символов и тегов) к примеру: <b>Исходная строка</b><img src="fdfdF">Это рисунок если N=16 должны получить строку <b>Исходная строка</b><img src="fdfdF">Э вырезано точно 16 символов от исходного текста (без учета тегов) |
26.12.2007, 02:01 | #6 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
Хм.... Так.
^[.*]{16} |
27.12.2007, 01:12 | #7 |
Пользователь
Регистрация: 20.09.2007
Сообщений: 99
|
Из строки :
Код HTML:
<A href="http://example.ru/index.php?do=addnews">Пример дня</A> Пробовал указывать "не жадничать" модификатором U. Но URL почему-то все равно берется из якоря выше по тексту. Как указать на то, что перед фразой Пример дня, и URL-ом не должно быть тэга <a>.
Голова человеку дадена - не токмо шапку носить!
|
27.12.2007, 03:40 | #8 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
<a href="([^"]+)">Пример дня<\/a>
|
27.12.2007, 13:03 | #9 |
Пользователь
Регистрация: 20.09.2007
Сообщений: 99
|
Спасибо за совет! Но если так все было просто, я бы не запнулся здесь. В том то и дело, что перед фразой Пример дня могут быть разные формирующие теги (а могут и не быть). И это мне и нужно указать в регулярке!
С уважением Вячеслав.
Голова человеку дадена - не токмо шапку носить!
|
27.12.2007, 14:18 | #10 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
<a href="([^"]+)">.*?<\/a>
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Упростить логическое выражение. Помогите с поступлением. | DartMrakkk | Помощь студентам | 4 | 27.07.2008 12:35 |
Помогите составить формулу !!!! | kutt | Microsoft Office Excel | 4 | 24.05.2008 11:44 |
Помогите составить программы!!! | Викулька | Помощь студентам | 3 | 08.12.2007 02:18 |
помогите составить алгоритм. | levin | Помощь студентам | 1 | 28.11.2007 14:37 |
помогите подобрать формулу или логическое выражение... | Dr.Eric | Microsoft Office Excel | 7 | 22.11.2006 06:56 |