Регулярное выражение с динамическим <textarea> - PullRequest
0 голосов
/ 04 мая 2010

Как это сделать с помощью метода JS replace ():

  • Изменить \ n \ n на <p>$1</p>
  • Изменить один \ n на <br>
  • Потом снова. Я думаю, что у меня есть эта часть, см. JS внизу.

Пример HTML:

<p>Hello</p><p>Wor<br>ld</p>

<textarea> будет выглядеть так:

Hello

Wor
ld

Итак, как мне этого добиться? Это AJAX-форма, где при нажатии на этот div он меняется на <textarea> и обратно, на четвертый и т. Д. Итак, мне нужно, чтобы он перешел с <p> s и <br> s на \n\n и \n. Для до <textarea> от HTML у меня есть:

$(this).html().replace(/\s?<\/?(p|br\s?\/?)>\s?/g,"\n")

Виктору и другим

Я попробовал этот код, чтобы преобразовать его обратно, но он дал мне это взамен (просто текст намного больше)

$(this).html().replace(/\n/g, "<br>").replace(/<br><br>(.*)?/g, "<p>$1</p>");

дал мне:

<div class="editable" data-name="notes-content" data-type="textarea">
“Time Certain” indicates that an item will not be heard by Council prior to the time certain
.<p>Communications items are three minutes each. ... 
<br><br>The * indicates an emergency ... 
<br><br>Check our Web site: www.portlandonline.com
<br>
</p>
</div>

Если вы заметили, он не обернул первую строку, и он не обернул их в <p> s, просто все, мне нужно все это в <p> s

Ответы [ 2 ]

1 голос
/ 04 мая 2010

Как насчет этого (версия # 4):

$(this).html().replace(/\n/g, "<br>").replace(/(.+?)<br><br>/g, "<p>$1</p>");

0 голосов
/ 04 мая 2010

Вот, пожалуйста:

$(this).html().replace(/\n/g, "<br>").replace(/<br><br>(.*)?/g, "<p>$1</p>");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...