27.07.2012, 21:36
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
Deff, ну и?
|
|
27.07.2012, 23:02
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
кто-нибудь подкиньте задачку с регулярками
|
|
28.07.2012, 01:32
|
без статуса
|
|
Регистрация: 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.
|
|
28.07.2012, 01:50
|
что-то знаю
|
|
Регистрация: 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" ) );
}
|
|
28.07.2012, 02:01
|
что-то знаю
|
|
Регистрация: 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" ) );
}
Последний раз редактировалось devote, 28.07.2012 в 02:04.
|
|
28.07.2012, 02:05
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
как меня раздражает эта система автоматического проставления тега [url] в сылках указанных в тегах [js]
|
|
28.07.2012, 02:15
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Работает!
|
|
28.07.2012, 03:24
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
Дзен-трансгуманист, сделано
Deff, у вас код ведь длиннее моего, а чем он лучше - я так и не въехал... P.S. Тормоз я, наверно...
devote, а зачем в обоих ваших кодах (в конце кодов) \w заключать в квадратные скобки, и без них же работает вроде, не?
|
|
28.07.2012, 03:29
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Hekumok,
А у меня ссылки мон менять и не на ютуб , просто в массиве иные или дополнить/уточнить новыми вариантами
А у devote зато может парсить несколько ссылок в одной строке
Последний раз редактировалось Deff, 28.07.2012 в 07:40.
|
|
28.07.2012, 09:17
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
Deff, a понятно...но у мну же, как и у devote, может несколько ссылок в одной строке парсить - см. пост 10
|
|
|
|