@Bestolkovy

Как с помощью jQuery, найти и обернуть тегом -p- каждый параграф в контейнере?

Добрый день!

Есть текст следующего вида:

<div class="content html_format"><img title="Обезьяна Greasemonkey" align="left" src="https://habrastorage.org/storage1/8094b499/01838337/42f164da/665183e0.gif"> Доброго времени суток всем желающим приобщиться к миру <a href="http://ru.wikipedia.org/wiki/Userjs">пользовательских скриптов</a> (они же <b>userscript</b>, <b>userJS</b>, <b>юзерскрипты</b>).<br>
<br>
В этой статье я хочу поведать о том, что такое юзерскрипты, c чем их едят и, главное, <b>как их готовят</b>!<br>
<br>
<em>Внимание:</em> предполагается <b>минимальное</b> знание javascript. <br>
На практике доказано: юзерскрипты может писать человек, не знакомый с программированием, но обладающий <em>усидчивостью и желанием</em> изучить javascript!<br>
О том, что такое javascript и как с ним обращаться, можно узнать на <a href="http://javascript.ru">javascript.ru</a>.<br>
<a name="habracut"></a><br>
<br>
<h2>Что такое юзерскрипты?</h2><br>
Кратко: юзерскрипт — это программа, написанная на языке JavaScript, хранящаяся на компьютере пользователя и подключаемая браузером на определенных страницах. Юзерскрипт представляет собой файл с расширением <b>.&#8203;user.&#8203;js</b> (именно по расширению браузеры понимают, что файл является юзерскриптом), содержащий метаданные и непосредственно javascript-код.<br>
<br>
При подключении к странице юзерскрипт выполняется так же, как и обычные javascript-сценарии.<br>
У юзерскрипта есть доступ к DOM-дереву страницы, в контексте которой он выполняется.<br>
В современных браузерах у юзерскрипта есть доступ к localStorage и прочим HTML5 API.<br>
<br>
Юзерскрипты поддерживаются <em>всеми основными современными браузерами</em> (и даже кое-как поддерживаются <em>IE7 и выше</em>).
</div>


Подскажите пожалуйста, как с помощью jQuery, найти здесь каждый параграф и обернуть его тегом p?

Буду очень признателен.
  • Вопрос задан
  • 188 просмотров
Решения вопроса 1
z80b
@z80b
Frontend
Например так:
var lines = $('.content.html_format').html().replace(/<br\/?>/g, "\n").split(/\n+/);
var new_text = $.map(lines, function(line) { if (line) return '<p>' + line + '</p>'; });
$('.content.html_format').html(new_text);

можно еще одной регуляркой, но что-то у меня не очень аккуратно получилось:
$('.content.html_format').html($('.content.html_format').html().replace(/<br\/?>\n/g, "\n").replace(/(.+)\n+/g, '<p>$1</p>\n');
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 13:31
10000 руб./за проект
19 апр. 2024, в 13:12
35000 руб./за проект
19 апр. 2024, в 13:06
6000 руб./за проект