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:14. |