[Help] Слепить текст посредством JS

12
TAFF
На сайте с 28.08.2008
Offline
140
1178

Здравствуйте!

Необходимо на JS сварганить скрипт, который берет текст вида:

URL 1
URL 2
URL 3

и

Text 1
Text 2
Text 3

И слепляет его, в такой вот вид:

URL 1 - Text 1
URL 2 - Text 2
URL 3 - Text 3

Кто в силах сделать сабж, скиньте пожалуйста цену и контакты сюда, либо в ЛС.

PS: JS не должен использовать HTML (работу с исходным кодом страницы)

✓ Администрирование (/ru/forum/494299) | ✓ Домены (/ru/forum/298049) | ✓ Продажа аккаунтов narod.ru (/ru/forum/585347)
L
На сайте с 07.12.2007
Offline
351
#1
TAFF:
Необходимо на JS сварганить скрипт, который берет текст вида:
. . .
PS: JS не должен использовать HTML (работу с исходным кодом страницы)

А откуда берутся данные (URL 1 и Text 1), если не из html-страницы? JS (не серверный) работает на стороне клиента именно в html-странице. Данные он может взять из собственного массива, пользовательского ввода в поля <input> или получить по Ajax с сервера.

webinteger
На сайте с 13.10.2007
Offline
110
#2

Отписал в ЛС !

> PHP & mySQL написание и доработка скриптов Page 1 (/ru/forum/173281) Page 2 (/ru/forum/377616)
_vb_
На сайте с 25.07.2009
Offline
104
#3
Ladycharm:
или получить по Ajax с сервера.

Не обязательно с сервера. Если html локальная, то можно локальной файловой системой пользоваться.

<h1>js merge texts</h1>


<div id="result"></div>

<script type="text/javascript">

// тут прописать пути к нужным файлам
var file1 = "file:///D:/path/to/file/txt1";
var file2 = "file:///D:/path/to/file/txt2";

if ( typeof XMLHttpRequest == "undefined" ) {
XMLHttpRequest = function() {
return new ActiveXObject(navigator.userAgent.indexOf("MSIE 5") >= 0 ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP");
};
}

var r = new XMLHttpRequest();
var txt1 = getData(r, file1);
var txt2 = getData(r, file2);
var txt3 = "";

for (i=0; i<txt1.length; i++) {
txt3 += txt1 + " - " + txt2 + "<br>";
}

document.getElementById('result').innerHTML = txt3;

function getData(r, source) {
r.open("GET", source, false);
r.send();
if (isOK(r)) {
return r.responseText.split("\n");
} else {
return [];
}
}

function isOK(r) {
try {
return ((!r.status) && (location.protocol == "file:")) ||
((r.status >= 200) && (r.status < 300)) ||
(r.status == 304) ||
((navigator.userAgent.indexOf("Safari") >= 0) && (typeof r.status == "undefined"));
} catch(e) {};
return false;
}

</script>
Саратовская фракция серча (). Давайте посчитаемся.
TAFF
На сайте с 28.08.2008
Offline
140
#4
Ladycharm:
А откуда берутся данные (URL 1 и Text 1), если не из html-страницы?

В моём случае JS используются для внутренних нужд софта, данные я могу подать только в таком виде:

TAFF:
URL 1
URL 2
URL 3
TAFF:
Text 1
Text 2
Text 3

Т.е. нужно как то сделать чтобы JS их приминал в таком виде (нет возможности сделать взятие из <textarea>, или из файла) и отдавал готовый результат путем обозначения переменной (var x=10; var y=20; x*y; - вот тут к примеру на выходе результат 200)

[Удален]
#5


<script>
function merge(t1, t2)
{
t1 = t1.split(/\n/);
t2 = t2.split(/\n/);

var res = '';
for(var i = 0; i< Math.min(t1.length, t2.length); i++)
res += t1.replace(/^\s*(.*?)\s*$/, "$1") + " - " + t2.replace(/^\s*(.*?)\s*$/, "$1") + "\n";

return res;
}

var olo = " URL 1\nURL 2\nURL 3 ";
var olo2 = "Text 1\n Text 2\nText 3 ";

alert(merge(olo, olo2));
</script>
TAFF
На сайте с 28.08.2008
Offline
140
#6

bearman, Большое спасибо, только не могу понять как его юзать

[Удален]
#7
bearman:
merge(olo, olo2)

так вот :)

вернет строчку, из двух строк.

TAFF
На сайте с 28.08.2008
Offline
140
#8

bearman, Не осилил :(

Т.е. вот так вставлять?

bearman:
var olo = "
URL 1
URL 2
URL 3
";
var olo2 = "
Text 1
Text 2
Text 3
";
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#9
bearman:
так вот :)

вернет строчку, из двух строк.

не... разделать массив пустой строкой это не кавайно... лучше | или ещё чем нибудь.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
[Удален]
#10

TAFF, в яваскрипте не бвывает многострочной записи строки, поэтмоу переносы строк заменяем на \n ;) как у меня в примере

bearman добавил 03.07.2010 в 14:55

LEOnidUKG:
не... разделать массив пустой строкой это не кавайно... лучше | или ещё чем нибудь.

не я условия задавал :)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий