Deff, ну и?
|
кто-нибудь подкиньте задачку с регулярками
|
<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>
|
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" ) );
}
|
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" ) );
}
|
как меня раздражает эта система автоматического проставления тега [url] в сылках указанных в тегах [js]
|
:write: Работает!
|
Дзен-трансгуманист, сделано :)
Deff, у вас код ведь длиннее моего, а чем он лучше - я так и не въехал... P.S. Тормоз я, наверно... devote, а зачем в обоих ваших кодах (в конце кодов) \w заключать в квадратные скобки, и без них же работает вроде, не? |
Hekumok,
:) А у меня ссылки мон менять и не на ютуб , просто в массиве иные или дополнить/уточнить новыми вариантами А у devote зато может парсить несколько ссылок в одной строке |
Deff, a понятно...но у мну же, как и у devote, может несколько ссылок в одной строке парсить - см. пост 10
|
| Часовой пояс GMT +3, время: 09:04. |