Обернуть текст
Добрый день.
Помогите разобраться со следующей ситуацией=) есть строка html, к примеру "text<span>abc</span>" (span может и отсутсвовать) , и нужно текст до span обернуть <a>. Пробовал регулярными выражениями, но в них не очень силен "text abc<span>span text</span>".replace(/^(?:(.+)(?=(<span(?:.*)>)))|(?:(.+)(?!(<span)))$/gi , "<a>$1</a>$2") выводит "<a>text abc</a><span>span text</span><a></a>", если без span, выведет "<a></a>" Есть идеи как можно решить? |
vivalaakam,
Вариант ... var str = "text abc<span>span text</span>"; str = str.replace(/(\w+?)(?=<span>|$)/gi , "<a>$1</a>"); alert(str); str = "text abc"; str = str.replace(/(\w+?)(?=<span>|$)/gi , "<a>$1</a>") alert(str); |
рони, спасибо. Только вот как его заставить искать с самого начала строки?
|
vivalaakam,
var str = "text abc<span>span text</span>"; str = str.replace(/^([a-z ]+?)(?=<span>|$)/gi , "<a>$1</a>"); alert(str); str = "text abc"; str = str.replace(/^([a-z ]+?)(?=<span>|$)/gi , "<a>$1</a>") alert(str); |
Часовой пояс GMT +3, время: 04:02. |