Моя регулярка работает медленно. Как ускорить процесс?
Например, у меня есть такой хтмл текст test1<div>test2</div>
.
Я хочу все что в не div также завернуть в div. Как мне лучше это сделать?
Вот мой пример:
// между текстом который перед див и самим дивом вставляю текст ($html$)
.replace(/(<div[^>]*>.*<\/div>)/gi, '($html$)' + '$1')
// беру весь текст перед ($html$), то есть который вне div и заворачиваю в див
.replace(/(.*)\(\$html\$\)/gi, '<div>$1</div>')
// удаляю текст ($html$)
.replace(/\(\$html\$\)/, '')
P.S. У меня такой случай, что текст вне дива может быть только в начале.
Если нам действительно надо завернуть только текст, стоящий перед первым <div>
, то нам не интересно содержимое <div>
, достаточно только факта его наличия:
.replace(/(.*?)(?=<div[ >])/i, '<div>$1</div>');
Возможно без использования регулярок будет работать быстрее (замена в переменной a
):
var pos=a.indexOf('<div');
if(pos>0) a='<div>'+a.substr(0,pos)+'</div>'+a.substr(pos);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите, как в AJAX jQuery, сделать обновление одного конкретного <div>, без перезагрузки страницы:
Всем доброго времени суток, делаю что-то вроде приложения, есть html, css, js, хотел добавить web speech от chromeКод представлен ниже, хотя основная проблема...