Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

24.05.2010, 15:24
|
|
Участник форума
Регистрация: 07.09.2008
Сообщений: 139
Провел на форуме: 351188
Репутация:
65
|
|
Сообщение от mff
Ну тексты разные будут всегда. Как при помощи JS ходить по строкам в текстарии и заменять их на нужные данные?
ну да, просто я не совсем понимаю, что за текст... в принципе можно просто через строчку добавлять в начало или ещё как... поясни что это за строки вводит пользователь?
|
|
|

24.05.2010, 15:45
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Byte_ туда будут вставлять название канала нижe URL всё с новой строки. Нужно будет к названию канала прибавлять "#EXTINF:1," потом ниже идет URL и так далее.
|
|
|

24.05.2010, 15:56
|
|
Участник форума
Регистрация: 07.09.2008
Сообщений: 139
Провел на форуме: 351188
Репутация:
65
|
|
Сообщение от mff
Byte_ туда будут вставлять название канала нижe URL всё с новой строки. Нужно будет к названию канала прибавлять "#EXTINF:1," потом ниже идет URL и так далее.
тогда всё просто пишу прямо тут, по этому могут быть ошибки.
Код:
var in;//сюда загоняем входные данные
var out;//вывод
in = in.split("\n");
var c = 0;
for(i=0,j=in.length;i<j;i++)
{
if(c == 1)
{
c=0; out = out + '#EXTINF:1,' + in[i] + "\n";
}else{
c=1; out = out + in[i] + "\n";
}
}
чуть не забыл про переходы на новую строку)
Последний раз редактировалось Byte_; 24.05.2010 в 16:02..
|
|
|

24.05.2010, 16:47
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Byte_ спасибо! полез пробовать!
|
|
|

24.05.2010, 18:38
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Сообщение от Byte_
тогда всё просто пишу прямо тут, по этому могут быть ошибки.
Код:
var in;//сюда загоняем входные данные
var out;//вывод
in = in.split("\n");
var c = 0;
for(i=0,j=in.length;i<j;i++)
{
if(c == 1)
{
c=0; out = out + '#EXTINF:1,' + in[i] + "\n";
}else{
c=1; out = out + in[i] + "\n";
}
}
чуть не забыл про переходы на новую строку)
Заюзал, вот что на выходе получилось:
Код:
undefinedRai tre
#EXTINF:1,http://86.55.3.10:8036
Rai med
#EXTINF:1,http://86.55.3.10:8037
Попробую разобраться, спасибо!
|
|
|

24.05.2010, 20:55
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Byte_ всё заработало как часы! Большое спасибо! +5
|
|
|

26.05.2010, 14:53
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Есть код:
Код HTML:
var inp = document.getElementById("input").value;
inp = inp.split("\n");
var out="";
var c = 0;
for(i=0; i<inp.length; i++){
if(c == 1){
c=0;
out = out + "\t\t\t" + '<location>' + inp[i] + '</location>' + "\n" + "\t\t" + '</track>' + "\n";
}else{
c=1;
out = out + "\t\t" + '<track>' + "\n" + "\t\t\t" + '<title>' + inp[i] + '</title>' + "\n";
}
}
document.getElementById("output").value = '<?='<?xml version="1.0" encoding="UTF-8"?>'?>' + "\n" + '<playlist version="1" xmlns="http://xspf.org/ns/0/">' + "\n" + "\t" + '<trackList>' + "\n" + out + "\t" + '</trackList>' + "\n" + '</playlist>';
в FF и в Google Chrome всё отлично работает. Вставляю:
Код:
Беркова-ТВ
mms://217.199.212.109/video3/
Ibiza On TV
mms://81.174.67.45/ibizaontv
TMF Dance
mms://94.75.250.121:554/39987@662299?MSWMExt=.asf
Worm TV
mms://wms.global-streaming.net/04988
на выходе:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
<track>
<title>Беркова-ТВ</title>
<location>mms://217.199.212.109/video3/</location>
</track>
<track>
<title>Ibiza On TV</title>
<location>mms://81.174.67.45/ibizaontv</location>
</track>
<track>
<title>TMF Dance</title>
<location>mms://94.75.250.121:554/39987@662299?MSWMExt=.asf</location>
</track>
<track>
<title>Worm TV</title>
<location>mms://wms.global-streaming.net/04988</location>
</track>
</trackList>
</playlist>
все табуляции, всё как надо. А вот Opera и IE делают лишние переносы перед </title> и перед </location>:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
<track>
<title>Беркова-ТВ
</title>
<location>mms://217.199.212.109/video3/
</location>
</track>
<track>
<title>Ibiza On TV
</title>
<location>mms://81.174.67.45/ibizaontv
</location>
</track>
<track>
<title>TMF Dance
</title>
<location>mms://94.75.250.121:554/39987@662299?MSWMExt=.asf
</location>
</track>
<track>
<title>Worm TV
</title>
<location>mms://wms.global-streaming.net/04988</location>
</track>
</trackList>
</playlist>
Помогите решить вопрос, я так понимаю что то с inp = inp.split("\n");

|
|
|

26.05.2010, 15:15
|
|
Участник форума
Регистрация: 07.09.2008
Сообщений: 139
Провел на форуме: 351188
Репутация:
65
|
|
Сообщение от mff
Есть код:
Код HTML:
var inp = document.getElementById("input").value;
inp = inp.split("\n");
var out="";
var c = 0;
for(i=0; i<inp.length; i++){
if(c == 1){
c=0;
out = out + "\t\t\t" + '<location>' + inp[i] + '</location>' + "\n" + "\t\t" + '</track>' + "\n";
}else{
c=1;
out = out + "\t\t" + '<track>' + "\n" + "\t\t\t" + '<title>' + inp[i] + '</title>' + "\n";
}
}
document.getElementById("output").value = '<?='<?xml version="1.0" encoding="UTF-8"?>'?>' + "\n" + '<playlist version="1" xmlns="http://xspf.org/ns/0/">' + "\n" + "\t" + '<trackList>' + "\n" + out + "\t" + '</trackList>' + "\n" + '</playlist>';
в FF и в Google Chrome всё отлично работает. Вставляю:
Код:
Беркова-ТВ
mms://217.199.212.109/video3/
Ibiza On TV
mms://81.174.67.45/ibizaontv
TMF Dance
mms://94.75.250.121:554/39987@662299?MSWMExt=.asf
Worm TV
mms://wms.global-streaming.net/04988
на выходе:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
<track>
<title>Беркова-ТВ</title>
<location>mms://217.199.212.109/video3/</location>
</track>
<track>
<title>Ibiza On TV</title>
<location>mms://81.174.67.45/ibizaontv</location>
</track>
<track>
<title>TMF Dance</title>
<location>mms://94.75.250.121:554/39987@662299?MSWMExt=.asf</location>
</track>
<track>
<title>Worm TV</title>
<location>mms://wms.global-streaming.net/04988</location>
</track>
</trackList>
</playlist>
все табуляции, всё как надо. А вот Opera и IE делают лишние переносы перед </title> и перед </location>:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
<track>
<title>Беркова-ТВ
</title>
<location>mms://217.199.212.109/video3/
</location>
</track>
<track>
<title>Ibiza On TV
</title>
<location>mms://81.174.67.45/ibizaontv
</location>
</track>
<track>
<title>TMF Dance
</title>
<location>mms://94.75.250.121:554/39987@662299?MSWMExt=.asf
</location>
</track>
<track>
<title>Worm TV
</title>
<location>mms://wms.global-streaming.net/04988</location>
</track>
</trackList>
</playlist>
Помогите решить вопрос, я так понимаю что то с inp = inp.split("\n");

я не уверен, нет возможности проверить всё, но попробуй перед split сделать replace \r
Код:
....
inp = inp.replace("\r","");
inp = inp.replace("\n\n","");//ещё можно на всякий случай =)
inp = inp.split("\n");
....
|
|
|

26.05.2010, 15:49
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Сообщение от Byte_
я не уверен, нет возможности проверить всё, но попробуй перед split сделать replace \r
inp = inp.replace("\r","");
inp = inp.replace("\n\n","");//ещё можно на всякий случай =)
не помогло не то и не то
Проверил еще в Safari - всё работает отлично. Только IE и Opera делает эти переносы 
|
|
|

26.05.2010, 16:28
|
|
Новичок
Регистрация: 12.10.2009
Сообщений: 20
Провел на форуме: 14519
Репутация:
41
|
|
Программисту нужна подсказка, как работать со строками =( Жуть
Код:
var lines = inp.split(/[\r\n]+/);
И ещё, собирать xml конкатенацией строк в js не тру, когда у вас dom на C/C++ реализован.
Последний раз редактировалось emmy; 26.05.2010 в 16:35..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|