Мое основное требование - преобразовать заданные текстовые якоря в гиперссылки с помощью HTML или любого скрипта на стороне браузера. Мы используем Windows10 / IE / Edge, к сведению.

Пример: данный текст

ABC
CDE
EFG

Требуемый выход:

www.xyz.com/test/ABC
www.xyz.com/test/CDE
www.xyz.com/test/EFG

Я нашел здесь bash для запроса гиперссылки. Мое требование аналогично, но мне нужен скрипт на основе браузера

Как создать html-ссылки на основе текстового документа входов

-4
Js J 18 Сен 2018 в 13:40

2 ответа

Лучший ответ

Поместите текст в <textarea> и прочтите его содержимое с помощью js / jQuery.

Создавайте ссылки динамически в памяти и позже используйте там, где это необходимо (я просто добавляю в DOM)

var urlBase = 'https://example.com';

$(document).ready(function () {
  $('#input').change(function () {
    var lines = $(this).val().split("\n"); // Split textarea content by new line
    var links = $('#links'); // Links container
    links.html(''); // Empty container content
    
    $.each(lines, function (i, line) {
      links.append($('<a>', {href: urlBase + '/' + line, text: line})); // Append new link element
    })
  })
})
#links a {
  display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="input"></textarea>

<div id="links"></div>
0
Justinas 18 Сен 2018 в 11:03

Получите значение введенного текста, разделите его на новые строки и создайте строку из букв a с желаемыми hrefs. Я использую ul для отображения результатов.

Обратите внимание, что преимущество создания строки, которая затем добавляется в DOM, заключается в том, что она влияет на DOM только один раз, а не на каждый цикл параметра добавления. Небольшая проблема, когда есть небольшой список, но если есть миллионы строк, которые нужно добавить - постоянная манипуляция DOM может вызвать проблемы, если вы используете .append ().

function convertText(){
 var links= document.getElementById('textInput').value;
 var linksArr = links.split('\n');
 
 var linkStr = '';
linksArr.forEach(function(link){
  linkStr += '<li><a href="www.xyz.com/test/'+link+'">'+link+'</a></li>';
})

document.getElementById('results').innerHTML = linkStr;

}
<textarea id="textInput"></textarea>
<hr/>
<button type="button" onclick="convertText()">Convert text to links</button>

<ul id="results"></ul>
0
gavgrif 18 Сен 2018 в 11:00