Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.03.2010, 22:57
Новичок на форуме
Отправить личное сообщение для valero Посмотреть профиль Найти все сообщения от valero
 
Регистрация: 06.03.2010
Сообщений: 5

Помогите решить задачку
Приветствую всех!
Помогите чайнику) вообщем у меня есть код ява скрипта

<script type="text/javascript">
function addSpoiler_video(str,from,internal){
    
    var pos=0,pos2=0,newpos=0
    if((pos=str.indexOf("[video]",from))==-1) return str;
    if((pos2=str.indexOf("[/video]"),pos+8)==-1) return str;
    newpos=str.indexOf("[video]",pos+8)
    if(newpos<pos2 && newpos!=-1) str=addSpoiler_video(str,pos+8,true)
    if((pos2=str.indexOf("[/video]",pos+8))==-1) return str;
    
    str=str.substring(0,pos)+makeSpoiler_video(str.substring(pos+7,pos2))+str.substring(pos2+8,str.length)
    if( str.indexOf("[video]")!=-1 && internal==false) str=addSpoiler_video(str,0,false)
    return str
}

function makeSpoiler_video(txt){
    txt='<object width="640" height="385"><param name="video" value="'+txt+'"/><param name="allowFullScreen" value="true"/><param name="scale" value="noscale"/><embed src="'+txt+'" type="application/x-shockwave-flash" width="640" height="385" allowFullScreen="true" scale="noscale"></embed></object>';
    return txt;
}

if(document.URL.indexOf("viewtopic.php")!=-1){
elm=document.getElementById("pun-main").getElementsByTagName("div")
for(x in elm) if(elm[x].className=="post-content"){
var post=elm[x]
post.innerHTML=addSpoiler_video(post.innerHTML,0,false)}}
</script>


Смысл таков, если мы кладем ссылку в виде
http://streaming.video.yandex.ru/lite/rublogers-ru/f9tw29xf6t.1008/

и закрываем тегами
[video]ссылка[/video]

Он автоматически подставляет ссылку в код плеера от того же яндекса.

А мне нужно чтоб он отсеивал вот от такой ссылки
[flash=450,338,http://streaming.video.yandex.ru/lite/rublogers-ru/f9tw29xf6t.1008/]

все ненужное, т.е начало
[flash=450,338,

и конец её
]


Тоесть чтоб не использовать
[video]ссылка[/video]

а как бы он будет убирать
[flash=450,338,

и
]

а саму ссылку подставлять

Кто знает как это сделать? заранее премного благодарен.
Ответить с цитированием
  #2 (permalink)  
Старый 07.03.2010, 03:44
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Я немного не понял, что Вы хотите, но подозреваю, что Вам следует двигаться в решении Вашего вопроса в сторону регулярных выражений.
Ответить с цитированием
  #3 (permalink)  
Старый 07.03.2010, 14:11
Новичок на форуме
Отправить личное сообщение для valero Посмотреть профиль Найти все сообщения от valero
 
Регистрация: 06.03.2010
Сообщений: 5

Хорошо, ладно с этим.

Подскажите функцию на Javascript чтоб находила и удалял вот это
[flash=450,336,

кстати цифры всегда меняются.

Последний раз редактировалось valero, 07.03.2010 в 14:17.
Ответить с цитированием
  #4 (permalink)  
Старый 07.03.2010, 14:37
Кандидат Javascript-наук
Отправить личное сообщение для JAre Посмотреть профиль Найти все сообщения от JAre
 
Регистрация: 29.06.2009
Сообщений: 111

http://javascript.ru/RegExp
Ответить с цитированием
  #5 (permalink)  
Старый 07.03.2010, 14:43
Новичок на форуме
Отправить личное сообщение для valero Посмотреть профиль Найти все сообщения от valero
 
Регистрация: 06.03.2010
Сообщений: 5

JAre спасибо конечно, но этот копипаст я уже видел, сайтов 500 вчера облазил, и никто ответить толком не может. На деле показать нельзя?
Ответить с цитированием
  #6 (permalink)  
Старый 07.03.2010, 15:20
Кандидат Javascript-наук
Отправить личное сообщение для JAre Посмотреть профиль Найти все сообщения от JAre
 
Регистрация: 29.06.2009
Сообщений: 111

Я в них не селен но как-то так http://javascript.ru/paste/4b9399e6
Не совсем так

Последний раз редактировалось JAre, 07.03.2010 в 15:30.
Ответить с цитированием
  #7 (permalink)  
Старый 07.03.2010, 15:37
Новичок на форуме
Отправить личное сообщение для valero Посмотреть профиль Найти все сообщения от valero
 
Регистрация: 06.03.2010
Сообщений: 5

Сообщение от JAre Посмотреть сообщение
Не совсем так
Жаль
Ответить с цитированием
  #8 (permalink)  
Старый 07.03.2010, 15:45
Кандидат Javascript-наук
Отправить личное сообщение для JAre Посмотреть профиль Найти все сообщения от JAre
 
Регистрация: 29.06.2009
Сообщений: 111

Вот так http://javascript.ru/paste/4b939fc2
Ответить с цитированием
  #9 (permalink)  
Старый 07.03.2010, 16:12
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

<grammar-nazi>
Сообщение от JAre
Я в них не селен
Среди нас селена нет.
</grammar-nazi>

Код:
(function(){
var str = '[flash=450,338,http://streaming.video.yandex.ru/lite/rublogers-ru/f9tw29xf6t.1008/] &\
 [flash=450,338,http://streaming.video.yandex.ru/lite/rublogers-ru/f9tw29xf6t.1008/] +\
 [flash=450,338,http://streaming.video.yandex.ru/lite/rublogers-ru/f9tw29xf6t.1008/]';
str = str.replace(/\[flash=\d+,\d+,([^\]]+)\]/ig, '$1');
alert(str)
})()
Ответить с цитированием
  #10 (permalink)  
Старый 07.03.2010, 16:22
Новичок на форуме
Отправить личное сообщение для valero Посмотреть профиль Найти все сообщения от valero
 
Регистрация: 06.03.2010
Сообщений: 5

Всё получилось) спасибо всем! помогла строчка
str = str.replace(new RegExp("\[flash=[0-9]+\,[0-9]+\," ,'g'), "");

единственное что осталось убрать это вот это
p>

откуда лезет не понятно) ну это не проблема, попробую убрать при помощи той же строчки.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите решить задачку с while natalia120390 Общие вопросы Javascript 46 16.06.2009 17:32
Помогите решить несколько мат. задач в javascript 4_omd Общие вопросы Javascript 5 02.05.2009 12:02
Помогите решить задачку---Найти сумму элементов массива uniQ Общие вопросы Javascript 3 02.05.2009 01:20
Помогите решить задачу vkg Общие вопросы Javascript 1 20.02.2008 11:59