使用javascript从字符串中删除所有标记和内部文本(除了一个)

时间:2017-07-31 01:26:53

标签: javascript

我有一个包含以下内容的字符串 -

<p> Are you eligible for sample?
<img src="/content/dam/aia-au-pd/rac-images/info_icon.gif">
<div class="tooltip_modal" style="display: none;">
  <div class="modal-content">
    <div class="modal-header">
      <span class="close">×</span>
      <h5>Tooltip</h5>
    </div>
    <div class="modal-body">
      <p>Some Text </p>
    </div>
  </div>
</div>
  </p>

我想提取Are you eligible for sample?并删除其他所有内容。

我尝试使用replace(/<[^>]+>/gm, ''),但是它删除了所有HTML并保留了所有文本。请注意,我也想摆脱&#34; tooltip&#34;和#34;一些文字&#34;如我的代码所示。

如何使用正则表达式模式实现此目的?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我通过顺序使用两个正则表达式替换来完成此操作:

textString = inputString.replace(/<[^>]+>/gm, '').replace(/\n(.*)/gm, '');

正如您已经注意到的那样,第一个模式会删除HTML标记。第二行匹配除第一行之外的所有内容,并将其删除。

使用Regexr测试它(您也可以尝试使用&#34;替换&#34;工具查看它的实际效果 - 单击底部的按钮,然后将替换字符串更改为空。