Павел Г.
5 сообщений
#16 лет назад
Есть у меня небольшой кусочег кода:
 if( src.indexOf("http://rutube.ru/tracks/444372.html?v=") > -1 ) 
src = src.replace("http://rutube.ru/tracks/444372.html?v=", "");


как сделать так чтоб искало не только
а еще и

http://rutube.ru/tracks/любое кол-во символов.html?v=


rutube.ru/tracks/любое кол-во символов.html?v=


http://www.rutube.ru/tracks/любое кол-во символов.html?v=


www.rutube.ru/tracks/любое кол-во символов.html?v=


ну и соответственно вырезало этот кусок из начальной строки

PS:в js я ни бум-бум, заранее спасибо.
Михаил В.
2195 сообщений
#16 лет назад
var reg=/(http:\/\/)?(www\.)?rutube\.ru\/tracks\/+\.html\?v=/gi;
src=src.replace(reg,"");

Как-то так.

А вообще:
Станислав Малкин
1410 сообщений
#16 лет назад
forqs, если Вы в этом ни бум-бум - зачем делаете?
Вадим Т.
3240 сообщений
#16 лет назад
Sir_Michael, конструкция избыточна, так как \w уже включает в себя \d, то есть это абсолютно то же самое, что и просто \w
а вот минус включить бы в регексп следовало бы, так как часто бывают страницы типа my-web-shop.html
то есть регексп выглядел бы так:

src = src.replace(/(?:http:\/\/)?(?:www\.)?rutube\.ru\/tracks\/+\.html\?v=/gi, "");

впрочем, кроме минуса еще и другие символы возможны, тут нужно смотреть что подразумевается под "любое кол-во символов", то есть, смотря какие могут в том URL встречаться символы.
Михаил В.
2195 сообщений
#16 лет назад
tvv,
Про \w\d - первоначально поставил \d, так как на rutube только цифры, но подумав решил добавить и буквы - почему \d забыл убрать - уж не знаю.
Минус там кажется лишним. Как тогда уж и квадратные скобки:
/(http:\/\/)?(www\.)?rutube\.ru\/tracks\/\w+\.html\?v=/gi
Вадим Т.
3240 сообщений
#16 лет назад
Sir_Michael, про экранирование - прошу прощения, это дефект форума Weblancer.net - при редактирвоании пропадает слеш. я только что вернул обратно в посте выше.
Михаил В.
2195 сообщений
#16 лет назад
Уже заметил дефект.
Вадим Т.
3240 сообщений
#16 лет назад
Если же минус не нужен, значит это не нужно городить. в принципе, я так и написал выше про "любое кол-во символов", то есть смотря что понимается под словом "символ" в посте ТС.

далее, (http:\/\/) имеет смысл заменить на (?:http:\/\/), чтобы не сохраняло в памяти неиспользуемое значение группы (то что в круглых скобках) при замене, это более оптимально.
Павел Г.
5 сообщений
#16 лет назад
Всем спасибо за примеры, но почемуто если строка с http:// то все обрезается нормально, а если без то появляется /
например
http://rutube.ru/tracks/443309.html?v=f6345f59a4f0e65c2b096d30da7c9de2 --> f6345f59a4f0e65c2b096d30da7c9de2
rutube.ru/tracks/443309.html?v=f6345f59a4f0e65c2b096d30da7c9de2 --> /f6345f59a4f0e65c2b096d30da7c9de2
Павел Г.
5 сообщений
#16 лет назад
Все заработало , еще раз всем спасибо