|
webprogs ↓
|
 |
|
30 Ноябрь, 2011, 01:02:24
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 8 Сила слова: 0
|
Здравствуйте уважаемые! Требуется помощь по функции replace().
Есть следующая функция, она вызывается по клику на кнопку, и должна выбирать определённые ссылки из документа и реплейсить их:
function replacement() {
var links = content.document.links;
var re = new RegExp("(.*)hash=(.+)&PHPSESSID=(.+)&id=(.+)&n=(.+)");
for (var i = 0; i < links.length; i++) {
if(re.test(cont[i])){ // Проверка регулярки проходит, на адресах типа: http://www.domen.com/url_generate.php?hash=2e84615441c3bdfdde71983639be10ba&PHPSESSID=12e7b526ed98176608b70f627dbabd86&id=DgUMCQ,,&n=CQ,,
alert(links[i]); // Переменная существует и выводится алертом
var new_str = links[i].replace(re,"url_generate.php?hash=$2&PHPSESSID=$3&id=12345&n=67890");
alert(new_str); // А тут нет, и цикл прерывается на этом месте
}
}
}
|
|
|
|
|
Записан
|
|
|
|
|
webprogs ↓
|
 |
|
30 Ноябрь, 2011, 01:12:30 , спустя 10 минут 6 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 8 Сила слова: 0
|
Код используется в контексте написания плагина под Firefox, по-этому
var links = content.document.links;
Спустя 2 минуты 28 секунд добавил Там где:
if(re.test(cont[i])){
Должно быть
if(re.test(links[i])){
По запарке попутал, но сути это не меняет, цикл прерывается после первой итерации, хотя находит ссылок 20...
|
|
|
|
|
Записан
|
|
|
|
|
Stasovsky ↓
|
 |
|
30 Ноябрь, 2011, 01:19:25 , спустя 6 минут 55 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Сенсей XD
Группа: Джедаи Карма: 54
Сообщений: 3654 Сила слова: 1.48
|
я нихуя не понял))
|
|
|
|
|
Записан
|
|
|
|
|
webprogs ↓
|
 |
|
30 Ноябрь, 2011, 01:21:03 , спустя 1 минуту 38 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 8 Сила слова: 0
|
Короче, тест регулярки на соответствие паттерну - проходит, но регулярка при этом не реплейсит(
|
|
|
|
|
Записан
|
|
|
|
|
Sinkler ↓
|
 |
|
30 Ноябрь, 2011, 01:35:53 , спустя 14 минут 50 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Похуй, пляшем!
Группа: Джедаи Карма: 73
Сообщений: 6808 Сила слова: 1.07
|
String#search пробовал вместо RegEx#test?
|
|
|
|
|
Записан
|
|
|
|
|
Stasovsky ↓
|
 |
|
30 Ноябрь, 2011, 01:37:30 , спустя 1 минуту 37 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Сенсей XD
Группа: Джедаи Карма: 54
Сообщений: 3654 Сила слова: 1.48
|
Sinkler, так он же говорит, что тестит норм
|
|
|
|
|
Записан
|
|
|
|
|
Stasovsky ↓
|
 |
|
30 Ноябрь, 2011, 01:44:39 , спустя 7 минут 9 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Сенсей XD
Группа: Джедаи Карма: 54
Сообщений: 3654 Сила слова: 1.48
|
у меня все пашет... попробуй ignore case поставить в регулярку...
|
|
|
|
|
Записан
|
|
|
|
|
webprogs ↓
|
 |
|
30 Ноябрь, 2011, 03:27:25 , спустя 1 час 42 минуты 46 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 8 Сила слова: 0
|
ignore case - не помог... Ппц, какой-то..
|
|
|
|
|
Записан
|
|
|
|
|
Stasovsky ↓
|
 |
|
30 Ноябрь, 2011, 03:32:00 , спустя 4 минуты 35 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Сенсей XD
Группа: Джедаи Карма: 54
Сообщений: 3654 Сила слова: 1.48
|
перегрузи комп XD
|
|
|
|
|
Записан
|
|
|
|
|
webprogs ↓
|
 |
|
30 Ноябрь, 2011, 03:37:48 , спустя 5 минут 48 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 8 Сила слова: 0
|
Вот че, при дебаге обнаружил: Error on line 6: links.replace is not a function...
|
|
|
|
|
Записан
|
|
|
|
|
Stasovsky ↓
|
 |
|
30 Ноябрь, 2011, 03:43:34 , спустя 5 минут 46 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Сенсей XD
Группа: Джедаи Карма: 54
Сообщений: 3654 Сила слова: 1.48
|
блеа, а ты сразу не мог туда посмотреть?
какого типа у тебя links?
|
|
|
|
|
Записан
|
|
|
|
|
webprogs ↓
|
 |
|
30 Ноябрь, 2011, 03:46:00 , спустя 2 минуты 26 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 8 Сила слова: 0
|
links - массив, просто пыха режет квадратные скобки с итератором... Там все правильно, мозилла видимо не понимает функцию replace(), ушел дальше читать маны...
|
|
|
|
|
Записан
|
|
|
|
|
Stasovsky ↓
|
 |
|
30 Ноябрь, 2011, 03:47:41 , спустя 1 минуту 41 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
Сенсей XD
Группа: Джедаи Карма: 54
Сообщений: 3654 Сила слова: 1.48
|
посмотри с какими типами работает реплейс
|
|
|
|
|
Записан
|
|
|
|
|
webprogs ↓
|
 |
|
30 Ноябрь, 2011, 04:09:56 , спустя 22 минуты 15 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 8 Сила слова: 0
|
Блеать!!!! Это пиздец!) решил так:
var str = new String(links[i]);
str = str.replace(re,"url_generate.php?hash=$2&PHPSESSID=$3&id=12345&n=67890");
Спустя 53 секунды добавил Спасибо за помощь) Потребовалось явное приведение к типу, типа var не кошерно(
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
30 Ноябрь, 2011, 05:52:21 , спустя 1 час 42 минуты 25 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 345
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
webprogs, все от незнания мат части нуб
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|