Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 27.07.2012, 21:36
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Deff, ну и?
Ответить с цитированием
  #12 (permalink)  
Старый 27.07.2012, 23:02
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

кто-нибудь подкиньте задачку с регулярками
Ответить с цитированием
  #13 (permalink)  
Старый 28.07.2012, 01:32
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script type="text/javascript">
var str = [];
str[0] = "Вот просто ссылка на ютуб http://youtube.com - она так и останется, и эта тоже - youtu.be/" ;
str[1] = "A от этой останется только айдишник - http://youtu.be/wUQfvbBRnZs" ;
str[2] = "И от этой тоже - www.youtube.com/watch?v=wUQfvbBRnZs" ;

function ReturnYoutubId(str) {

    var Mass ="http://youtu.be/,www.youtube.com/watch?v=";

    Mass = Mass.split(",");//alert(Mass);

    var Out = "";

    for(var i=0; i<Mass.length; i++){

        var reg =  new RegExp(".*?"+Mass[i].replace(/\?/ig,'\\?')+"(\\S*?\\S(?=\\s|$))","ig");

        var st2 = str.replace(reg,',$1');

        if(st2!= str){Out+=st2;str=str.replace(st2,'');}

    } return Out.substring(1).split(",");;
}
for(var i=0; i<str.length; i++){
  alert(ReturnYoutubId(str[i]))
}
</script>

Последний раз редактировалось Deff, 28.07.2012 в 07:38.
Ответить с цитированием
  #14 (permalink)  
Старый 28.07.2012, 01:50
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

var a = [
    "Вот просто ссылка на ютуб [url]http://youtube.com[/url] - она так и останется, и эта тоже - youtu.be/",
    "A от этой останется только айдишник - http://youtube.ru/wUQfvbBRnZs",
    "И от этой тоже - www.youtube.com/watch?v=qwUQfvbBRnZs"
];

for( var i = 0; i < a.length; i++ ) {
    alert( a[i].replace( /(?:(?:https?:\/\/)?.*?\.(?:ru|com)\/(?:watch\?v=)?([\w]*)|(.*))/gi, "$1" ) );
}
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #15 (permalink)  
Старый 28.07.2012, 02:01
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

var a = [
    "Вот просто ссылка на ютуб http://youtube.com - она так и останется, и эта тоже - youtu.be/",
    "A от этой останется только айдишник - http://youtube.ru/wUQfvbBRnZs hsdfhjg https://youtube.ru/wUQfvbBRnZs",
    "И от этой тоже - www.youtube.com/watch?v=qwUQfvbBRnZs И от этой тоже - www.youtube.com/watch?v=qwUQfvbBRnZs"
];

for( var i = 0; i < a.length; i++ ) {
    alert( a[i].replace( /(?:https?:\/\/)?[^\s]+\.(?:ru|com|be)\/(?:watch\?v=)?([\w]+)/gi, "$1" ) );
}
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine

Последний раз редактировалось devote, 28.07.2012 в 02:04.
Ответить с цитированием
  #16 (permalink)  
Старый 28.07.2012, 02:05
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

как меня раздражает эта система автоматического проставления тега [url] в сылках указанных в тегах [js]
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #17 (permalink)  
Старый 28.07.2012, 02:15
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Работает!
Ответить с цитированием
  #18 (permalink)  
Старый 28.07.2012, 03:24
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Дзен-трансгуманист, сделано
Deff, у вас код ведь длиннее моего, а чем он лучше - я так и не въехал... P.S. Тормоз я, наверно...
devote, а зачем в обоих ваших кодах (в конце кодов) \w заключать в квадратные скобки, и без них же работает вроде, не?
Ответить с цитированием
  #19 (permalink)  
Старый 28.07.2012, 03:29
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Hekumok,
А у меня ссылки мон менять и не на ютуб , просто в массиве иные или дополнить/уточнить новыми вариантами
А у devote зато может парсить несколько ссылок в одной строке

Последний раз редактировалось Deff, 28.07.2012 в 07:40.
Ответить с цитированием
  #20 (permalink)  
Старый 28.07.2012, 09:17
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Deff, a понятно...но у мну же, как и у devote, может несколько ссылок в одной строке парсить - см. пост 10
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо скрыть ссылки, кроме ведущих на изображения Keksman jQuery 4 04.03.2012 20:17
overflow:auto и #-ссылки vania-pooh (X)HTML/CSS 3 02.01.2011 21:16
Регулярное выражение, замена ссылки к файлу на имя файла libinstyle Events/DOM/Window 2 19.07.2010 17:50
ссылки получали стиль "visited" только на время сессии alexandr_poskrobka Серверные языки и технологии 7 10.03.2010 08:48
ССЫЛКИ (Помогите новичку) meggen (X)HTML/CSS 8 30.11.2009 10:51