Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Как разделить строку HTML (https://javascript.ru/forum/css-html/70324-kak-razdelit-stroku-html.html)

ser1ko 27.08.2017 17:29

Как разделить строку HTML
 
Доброго времени суток!

У меня есть строка с актерами фильма, которая выводится через поле '$OTHER3'.
в html это выглядит:
<div class="actors">Актеры: $OTHER3</div>

на странице так:
Актеры: Актер Актерович1, Актер Актерович2, Актер Актерович3


Мне необходимо, из поля $OTHER3$ достать каждого отдельного актера и обернуть его в ссылку, причем в ссылке должен быть указан именно этот актер

Иными словами, в html должно получиться следующее:

<div class="actors">Актеры: <a href="/search/Актер Актерович1">Актер Актерович1</a>, <a href="/search/Актер Актерович2">Актер Актерович2</a>, <a href="/search/Актер Актерович3">Актер Актерович3</a></div>


А пользователь на странице получет 3 кликабельные ссылки.

как это сделать я понятия не имею.. загуглил только, что разделить строку можно через код
window.onload = (function () {
    var actors = '$OTHER3$'.split(',');
     
 alert(actors[0]);
 alert(actors[1]);   
 alert(actors[2]);
     
}
		  
)();


код проверил, работает, разделяет. НО как исправить/дописать код до необходимого мне я понятия не имею.. методом тыка ниче не получается
нуждаюсь в помощи

рони 27.08.2017 17:54

ser1ko,
а на сервере нельзя это сделать?

laimas 27.08.2017 17:57

ser1ko,
это можно и нужно делать на сервере, вот только в url "Актер Актерович1" вставлять нельзя, требуется url кодирование.

ser1ko 27.08.2017 18:02

рони,
laimas,
на сервере невозможно сделать :(

Такая технология (если можно так назвать) используется вот здесь например ссылка (поля актеры, страна, качество)


Прошу помощи еще раз

рони 27.08.2017 18:26

ser1ko,
'$OTHER3$' вставить вместо 'Актер Актерович1, Актер Актерович2, Актер Актерович3'
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <script>
     window.addEventListener('DOMContentLoaded', function() {
       var actors = document.querySelector('.actors'),
       text = 'Актер Актерович1, Актер Актерович2, Актер Актерович3'.split(','),
       html = 'Актеры: ';
       html += text.map(function(txt) {
            return ' <a href="/search/'+encodeURIComponent(txt.trim())+'">'+txt.trim()+'</a>'
       });
       actors.innerHTML = html
         });
  </script>
</head>

<body>
<div class="actors"></div>
</body>
</html>

ser1ko 27.08.2017 18:46

рони,
это именно то, что нужно! огромное спасибо


Часовой пояс GMT +3, время: 08:30.