【问题标题】:Regex with dynamic <textarea>带有动态 <textarea> 的正则表达式
【发布时间】:2010-05-03 20:05:32
【问题描述】:

如何使用 JS 的 replace() 方法做到这一点:

  • 将\n\n更改为&lt;p&gt;$1&lt;/p&gt;
  • 将单个\n 更改为&lt;br&gt;
  • 然后再回来。我想我有这部分,看底部的JS。

示例 HTML:

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

&lt;textarea&gt; 看起来像:

Hello

Wor
ld

那么,我该如何实现呢?这是一个 AJAX 表单,当您单击此 div 时,它会更改为 &lt;textarea&gt; 并返回,然后是第四个等等。所以,我需要它从 &lt;p&gt;s 和 &lt;br&gt;s 转到 \n\n 和 @ 987654330@。对于 to &lt;textarea&gt; from 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>

如果你注意到,它没有包装第一行,也没有将它们包装在 &lt;p&gt;s 中,只是整个事情,我需要在 &lt;p&gt;s 中进行所有操作

【问题讨论】:

    标签: javascript html ajax regex dynamic


    【解决方案1】:

    怎么样(版本 #4):

    $(this).html().replace(/\n/g, "&lt;br&gt;").replace(/(.+?)&lt;br&gt;&lt;br&gt;/g, "&lt;p&gt;$1&lt;/p&gt;");

    【讨论】:

    • 不知道为什么要这样做,而是将所有段落都转换为

      $0

      ?知道为什么吗?
    • 对不起,我没有测试它。我已经编辑了答案(我假设 $0 会返回整个匹配项)
    • 真的很接近,谢谢!但。它给了我:“时间确定”

      表示在确定时间之前议会不会听到某个项目。

      (确定时间,或者第一行是从来没有换行,
      s 翻译得很好,每个段落都被很好地换行!完美。)唯一的问题是第一行没有换行,当它是

      时间确定
      ...

      并且它每次都在 之前添加 2 个
      ,如果您继续单击和关闭它们,它们会像





      一样堆叠: \。除了
      问题和第一行之外,它是完美的。
    • 请尝试新版本,这次我已经测试过了。问题是 js 不匹配 \n 如果你使用点符号,我花了一段时间才弄清楚。
    • 1 奇怪的事情:portlandonline.com/video 被翻译成:portlandonline.com/<p>video</p> 奇怪?而且,现在

      s 中没有任何内容 :( 它只是“内容、内容和一些内容

      更多内容,这里还有更多内容

      ”等等...?再次感谢这么多。

    【解决方案2】:

    给你:

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

    【讨论】:

    • 啊,呃!天才!让我试试这个,看起来不错,我会告诉你的 :) 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    相关资源
    最近更新 更多