Как видно из кода, здесь 2 ссылки. Вырезал разными вариантами - всё равно ссылки 2 в тексте, а должно быть по одной, т.е. делиться по: < / a> или по < \/ a>. Пробовал такие регулярки:
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
isle
Отправлено: 18 Декабря, 2010 - 18:32:31
Гость
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
Спасибо за ответ. К сожалению, ваш пример мне не подойдет и ссылка на учебник мне не актуальна; php за год я достаточно хорошо освоил, но вот в конкретном своём вопросе запутался. Хочу разбить ссылки из текста на 3 части, чтоб разобрать левую (проверить ссылки на индексируемсть) и центральную часть, чтоб подсветить ключ. Дело в том, что в JS ссылки пишутся так: < \/ a >, поэтому их вытащить из HTML нельзя вашим способом, а мои способы не работают, либо корявым методом, который я в конце добавил.
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
isle В качестве возможного варината решения позволяющего осуществлять поиск и выбор требуемых элементов исходного HTML-кода допустмо использование расширений анализа XML-структур - дело в том что обработка корректного HTML-документа на основе объектной модели является в дейстивтельности более простой поскольку производится для представления элементов в оригинальном уровне
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
trot
Отправлено: 18 Декабря, 2010 - 19:54:28
Новичок
Покинул форум
Сообщений всего: 34
Дата рег-ции: Нояб. 2009
Помог: 0 раз(а)
Действительно коряво
OrmaJever
Отправлено: 18 Декабря, 2010 - 23:23:14
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
isle пишет:
Хочу разбить ссылки из текста на 3 части, чтоб разобрать левую (проверить ссылки на индексируемсть) и центральную часть
Мне так и не понятно что имено регуляркой нужно взять? На сылке не написано где первая часть, вторая и трейтяя. Приведите пример частей сылки и поможем разбить.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
isle
Отправлено: 18 Декабря, 2010 - 23:29:18
Гость
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
В регулярках же указано
Нужно так: (< a >)(text)(< /a >)
Первые две части отдельно затем проверяю и подсвечиваю. Если посмотрите кусок кода, который привел в пример, то там 2 ссылки идут как одна, я их уже сделал недавно как 2 (добавил к первому сообщению), но, возможно, есть какое-то более "чистое" решение.
OrmaJever
Отправлено: 19 Декабря, 2010 - 00:14:30
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
isle пишет:
Нужно так: (< a >)(text)(< /a >)
Ну вот вы этим примером практически написали регулярку))
Вот такой скромный пример берёт всё так как вам нужно.
Эдинственое я только понять не могу. В примере из первого поста между < и a пробелов нету, но в регулярках вы их указываете. Тоесть могут быть сылкис пробелами?
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
isle
Отправлено: 19 Декабря, 2010 - 00:37:52
Гость
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
OrmaJever пишет:
Эдинственое я только понять не могу. В примере из первого поста между < и a пробелов нету, но в регулярках вы их указываете. Тоесть могут быть сылкис пробелами?
Ну, вебмастера разные бывают - застраховался просто... Несколько раз встречал, когда хитрыми программами пользуются и поэтому там могут быть переводы строк.
Чтоб понять зачем это мне и как должно работать, вот кратенькое описание. Написал сервис для своих нужд, чтобы проверять как свои, так и чужие сайты на оптимизацию/SEO. Когда-то делал хороший сервис, теперь он сдох при переезде, решил с нуля опять его написать. Допустим заказчик просит посмотреть, что с его сайтом не так, я его чекаю и получаю все ссылки - битые/открытые и закрытые/левые и рекламные и т.д., затем уже лезу в шаблон и проверяю/редактирую... Когда HTML код длиною в километр и написан как попало, то гораздо удобнее видеть всё наглядно, где и что сломано на сайте
П.С. Спасибо за участие.
П.П.С. Эх, похоже, что регулярка не работает вообще так, пробовал и 2 и 3 слеша.
OrmaJever
Отправлено: 19 Декабря, 2010 - 00:46:31
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
isle пишет:
Ну, вебмастера разные бывают - застраховался просто... Несколько раз встречал, когда хитрыми программами пользуются и поэтому там могут быть переводы строк.
Ну простоя думал вам нужно парсить с ожного конкретного сайта. А на одном сайте обычно пишут одним стилем.
isle пишет:
Чтоб понять зачем это мне и как должно работать, вот кратенькое описание. Написал сервис для своих нужд, чтобы проверять как свои, так и чужие сайты на оптимизацию/SEO. Когда-то делал хороший сервис, теперь он сдох при переезде, решил с нуля опять его написать. Допустим заказчик просит посмотреть, что с его сайтом не так, я его чекаю и получаю все ссылки - битые/открытые и закрытые/левые и рекламные и т.д., затем уже лезу в шаблон и проверяю/редактирую... Когда HTML код длиною в километр и написан как попало, то гораздо удобнее видеть всё наглядно, где и что сломано на сайте
Ну это впринципе меняет суть дела. Тут так просто одной регуляркой не отделаешся.
1) Если вы собираетесь делать это всё вручную то можно посмотреть все ошибки страницы на http://validator[dot]w3[dot]org/ Там покажет все ошибки по стандарту html.
2) Если всётаки хотите собратьсвой скрипт похожий на w3с то тут нужно составить базу даных часто используемых html тегов. (Добавление)
isle пишет:
П.П.С. Эх, похоже, что регулярка не работает вообще так, пробовал и 2 и 3 слеша.
вы про это? (\\\)?
Тут я сам не особо понял зачем нужно 3 слеша. Просто с 2 у меня написало что ')' заэкранизирована. Спас только 3 слеш.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
isle
Отправлено: 19 Декабря, 2010 - 01:09:31
Гость
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
OrmaJever пишет:
вы про это? (\\\)?
Ага, эта конструкция не работает, перепробывал разные модификации уже. Хотелось бы упростить все регулярки и свести их до минимума, сейчас самые тяжёлые выключил. Ранее использовал несколько регулярок, лишь бы проще мне было, но сейчас некоторые новостные сайты содержат огромное кол-во ссылок и текста вообще, страницы до нескольких сотен кб доходят и это без графики (мега-статьи, ёлки). Поэтому выходить стало до 20-25 сек. на тяжёлую страницу, а 30 сек - ограничение хостера, вот и решил оптимизировать скрипты.
Вот это я придумал методом проб и ошибок, почему именно так - для меня самого является загадкой: нельзя ничего переделать, выкидываю хоть что-нибудь или переношу, регулярка не работает почему-то, поэтому все скобки квадратные и слеши стоят именно так:
Если можно упростить регулярку, то было бы супер - каждая секунда на счету
Если хотите, можете посмотреть в работе (только сегодня начал переписывать всё заново, поэтому не всё еще работает); выберите пункт "links" и укажите полную ссылку на свой сайт, получите список всех ссылок, например, у меня их 500, перебирать их вручную в коде смерти подобно... (сервис: isle-arch.ru).
П.С. w3с не подходит, он показывает ошибки сайта, а мне нужно видеть уровень оптимизации, т.е. битые ссылки, внешние и внутренние ссылки, закрытые от поисковиков, левую рекламу на сайте и т.д., т.е. совсем другие задачи
OrmaJever
Отправлено: 19 Декабря, 2010 - 01:18:16
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
isle пишет:
Если хотите, можете посмотреть в работе (только сегодня начал переписывать всё заново, поэтому не всё еще работает); выберите пункт "links" и укажите полную ссылку на свой сайт, получите список всех ссылок, например, у меня их 500, перебирать их вручную в коде смерти подобно... (сервис: isle-arch.ru).
идея хорошая и реализировано довольно не плохо. Но вот только судяихэтой фразы:
isle пишет:
Эх, похоже, что регулярка не работает вообще так, пробовал и 2 и 3 слеша.
мне кажется что проблемы с пхп. Ведь я проверял и у меня это работает. Вы пробовалина локалхосте тестить? Если хосте поставил ограничение загрузки скрипта в 30сек то мог ещё много чего запретить.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
isle
Отправлено: 19 Декабря, 2010 - 01:53:10
Гость
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
К сожалению, локалка сдохла год назад из-за какого-то вируса, автор Денвера и авторы других виртуалок не в курсе как исправить это, поэтому тестю сразу онлайн. Буду тормошить своего хостера тогда, если завтра сам не разберусь, а то как-то странно, ошибок вообще никаких (ошибки включал), просто не работает и всё. Эх, каждую "запятую" скрупулёзно копать приходится...
Спасибо за помощь; раз у вас работает, буду разбираться в чем проблема.
OrmaJever
Отправлено: 19 Декабря, 2010 - 12:52:48
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
isle пишет:
К сожалению, локалка сдохла год назад из-за какого-то вируса
ну дак скачайте снова денвер и установите)) Неужеле проще проверять каждый символ чем установить денвер и протестить?
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
isle
Отправлено: 19 Декабря, 2010 - 13:07:18
Гость
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
OrmaJever пишет:
ну дак скачайте снова денвер и установите
Вы, видимо, не поняли меня - сдохла локалка, не ставится и не работает Денвер! Автор посоветовал переустановить Виндоус, а для меня это смерти подобно... Кучу софта потом занова перерегистрировать через тырнет и почту, у меня же не пара ворованных утилит стоит.
Еще раз уточню: php не первый день изучаю, давно уже не актуальны мне эти уроки, почти уже весь сайт изучил php.net на англ. Про Денвер сам автор ничего сказать не может толком, вы полагаете, что я могу что-то придумать, прочитав его хелпы и переустановив? Сто раз уже скачивал, всё чистил и переустанавливал - нифига. Вот и получается, что мне проще чем Вмнду всю перекапывать и переустанавливать, лучше онлайн у себя проверить.
Спасибо за участие, пока хоть и коряво, но проблему решил.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.