![]() |
URL в теле страницы
Есть тело страницы (HTML). Необходимо выделить из него все ссылки (так или иначе доступные пользователю [в том числе, отображаемые в виде картинок], но без учёта всяких интегрируемых объектов типа перехода при клике внутри flash-объекта [от которого в HTML останется лишь уопминание]). Т.к. я не обладаю всем множеством возможных комбинаций для тестов, то спрошу. Верен ли алгоритм:
найти вхождение <a - это будет левая граница. От найденного вхождения до > найти параметр href - его значение = искомый url. Или всё гораздо сложнее? |
Ответ: URL в теле страницы
проще:
PHP код:
|
Ответ: URL в теле страницы
Спасибо, но в реализации твоей многое сокрыто за непонятными мне методами. Нельзя или их более отвлечённо от языка описать?
|
Ответ: URL в теле страницы
PHP код:
PHP код:
|
Ответ: URL в теле страницы
Если таки не в броузере а жабой, то тебе нужно искать открытие тега и закрытие. Чтобы подсветить, будет достаточно в открытии тега <a> до ">" добавить что-то типо:
style="background:#f00 !important" Ссылка будет иметь тогда красный фон. Если таки в броузере, делай примерно как описали. Если предоставишь пример html разметки, можно будет собрать jsfiddle пример. ЗЫ, выкиньте же этот alert нафиг! |
Ответ: URL в теле страницы
Цитата:
|
Ответ: URL в теле страницы
Регэкспом его!
|
Ответ: URL в теле страницы
Ну ты же не будешь разрабатывать в IE (в котором он не работает), поэтому использовать его нужно.
Разные броузеры по разному работают с alert'ами, некоторые не дают возможности отключить последующий скрипт, тем самым если ты запустишь такой код на огромной странице, с кучей ссылок, прийдётся зажимать enter или вырубать броузер, врубать снова и резко закрывать закладку (т.к. многие броузеры блокируют любой инпут мобальным окошком alert'а). Разрабатывать нужно в FF + FireBug либо в Chrome. Можно заюзать также Espresso 2 (на маках рулит) для оффлайн разработки, там есть WebKit (как в Chrome) Inspector. |
Ответ: URL в теле страницы
Цитата:
Когда вываливаю в Сеть примеры - меняю на alert. Потому что например даже в FF без установленного FireBug вывод console.log не увидеть. Всем постоянно говорю что Firebug нужно ставить но - как об стенку горох, а потом "а чо ничо не пишет?", надеюсь, ты меня понял. |
Ответ: URL в теле страницы
Цитата:
|
Ответ: URL в теле страницы
Цитата:
Windows: Ctrl + Shift + K Чтобы открыть штатный консоль. Он кстати как по мне намного лучше чем FireBug'овский. |
Ответ: URL в теле страницы
Цитата:
Хватит спорить с моими привычками. |
Ответ: URL в теле страницы
Цитата:
<a{блабла}href="{блабла}"{блабла}>{блабла}</a> То есть: Цитата:
|
Ответ: URL в теле страницы
Цитата:
|
Ответ: URL в теле страницы
Начало тега всегда одно "<a" далее может быть что угодно кроме ">" вне кавычек (это не просто вычислить). Далее рано или поздно будет (не обязательно кстати) "href=", кавычка может быть двойная за ним, или одинарная. Далее идёт что угодно кроме закрытия кавычки. Потом идёт опять что угодно до ">" вне открытых каких-либо кавычек.
То что между кавычек у href="", является ссылкой на которую будет перенаправление. Далее после ">" может быть что угодно до "</a>". Основываясь W3C, ссылки в ссылке не может быть, и броузеры тоже такое не позволят. Всё что между <a ....> и </a> будет телом ссылки, там может быть картинка (<img />), элементы, или текст. А может быть даже пусто, т.к. можно сделать элемент ссылки блоком и отображать с background'ом - альтернатива img, и лучше по многим факторам. |
Часовой пояс GMT +4, время: 00:41. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot