Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.12.2013, 13:13
Интересующийся
Отправить личное сообщение для dmitriyk Посмотреть профиль Найти все сообщения от dmitriyk
 
Регистрация: 20.09.2013
Сообщений: 13

перебор ссылок
Хочу сделать скрипт который будет искать на странице ссылки определенного вида и заменять их, как я понимаю надо тут делать с помощью регулярных выражений, но я их еле смог начать понимаю на PhP чую на js убью еще кучу времени

На примере есть ссылка
href="../../2/2053/index.htm"


Надо превратить ее например в
href="/file.php?url=2/2053


Причем затронуть надо все ссылки начинающиеся с ../../

Буду рад любой помощи.
Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 11.12.2013, 13:44
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,218

Сообщение от dmitriyk
затронуть надо все ссылки начинающиеся с ../../
Это понятно.

Сообщение от dmitriyk
На примере есть ссылка
href="2/2053/index.htm"

Надо превратить ее например в
href="/file.php?url=2/2053
А вот тут нужно кагбэ знать по какому принципу "что" превращать и "во что"...
Ответить с цитированием
  #3 (permalink)  
Старый 11.12.2013, 13:45
Профессор
Отправить личное сообщение для lancer Посмотреть профиль Найти все сообщения от lancer
 
Регистрация: 30.01.2008
Сообщений: 230

Цитата:
чую на js убью еще кучу времени
Считываем href и находим тут регулярные выражения, учим, пробуем.
Вы не хотите ничего делать, а готовое решение, за это надо отсекать голову.
Ответить с цитированием
  #4 (permalink)  
Старый 11.12.2013, 13:58
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,218

Сообщение от dmitriyk
затронуть надо все ссылки начинающиеся с ../../
Как вариант...

var str="../../2/2053/index.htm"
var r=/^\.\.\/\.\.\//
alert(r.test(str));
str="../2/2053/index.htm"
alert(r.test(str));
Ответить с цитированием
  #5 (permalink)  
Старый 11.12.2013, 13:59
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,218

Сообщение от lancer
а готовое решение, за это надо отсекать голову
Ух, ёооо...
Ответить с цитированием
  #6 (permalink)  
Старый 11.12.2013, 14:00
Интересующийся
Отправить личное сообщение для dmitriyk Посмотреть профиль Найти все сообщения от dmitriyk
 
Регистрация: 20.09.2013
Сообщений: 13

Сообщение от ksa Посмотреть сообщение
Это понятно.


А вот тут нужно кагбэ знать по какому принципу "что" превращать и "во что"...
href="2/2053/index.htm" в href="/file.php?url=2/2053

То что выделил

Найти все ссылки заменить урлы могу, проблема именно в работе регулярок(тоесть вытащить нужную часть)

Последний раз редактировалось dmitriyk, 11.12.2013 в 14:03.
Ответить с цитированием
  #7 (permalink)  
Старый 11.12.2013, 14:04
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,218

Сообщение от dmitriyk
href="2/2053/index.htm" в href="/file.php?url=2/2053
Это уже правило...
Ответить с цитированием
  #8 (permalink)  
Старый 11.12.2013, 14:12
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,218

Сообщение от dmitriyk
href="2/2053/index.htm" в href="/file.php?url=2/2053
Как вариант...

var str="../../2/2053/index.htm";
var org="/file.php?url=2/2053";
var r=/^\.\.\/\.\.\/(\d+)\/(\d+)\/[\s\S]*/
alert(str.replace(r,'/file.php?url=$1/$2')==org);
Ответить с цитированием
  #9 (permalink)  
Старый 11.12.2013, 14:14
Интересующийся
Отправить личное сообщение для dmitriyk Посмотреть профиль Найти все сообщения от dmitriyk
 
Регистрация: 20.09.2013
Сообщений: 13

Спасибо огромное, пошел писать функциюполностью
Ответить с цитированием
  #10 (permalink)  
Старый 11.12.2013, 14:29
Интересующийся
Отправить личное сообщение для dmitriyk Посмотреть профиль Найти все сообщения от dmitriyk
 
Регистрация: 20.09.2013
Сообщений: 13

Хмм, вот он подводный камень, в документе ссылка идет с ../../ а вот в
document.links[i].href уже http://localhost/
Можно как то выцепить изначальный вариант?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заменить тексты ссылок текстами из тегов span при нажатии All_ex74 Элементы интерфейса 13 28.08.2014 08:16
формирование ссылок на все каталоги пути данного HTML документа vitaxa3581 Общие вопросы Javascript 2 15.12.2012 02:06
поиск ссылок на страничке serjava Работа 4 06.11.2010 08:57
Как вытащить массив ссылок с другова сайта Suharik jQuery 2 03.09.2010 17:19
Загрузить title для ссылок на странице MarikVal jQuery 0 27.07.2009 20:38