Angular:从字符串中删除<br/>标签(或添加标签)

时间:2015-07-25 12:41:17

标签: javascript angularjs

编辑:我将此标记为Angular,但忘记明确发布我的前端是Angular。那么我可以使用任何指令或Angular甜酱吗?

我在数据库字段中有文字,我在实际页面的两​​个不同位置使用。文本是&#34;经常/通常&#34;。

在页面的某个部分,我将其作为指示文本的一部分输出,以表示我的意思,所以我希望文字看起来像:

Frequently/Usually: Description of what this means.

然后我有一个表头,我重复使用&#34; Frequenty /通常&#34;但是对于间距我需要通常在下面的一条单独的线上经常使用。

如果我将其作为

存储在数据库中
Frequently/<br/>Usually

然后当我将<br/>显示为指令文本的一部分时,我需要将其删除。

或者我可以将其存储为Frequently/Usually并在输出表格标题中的文本时放入<br/>吗?

最好的方法是什么?

我想我可以将字符串拆分为&#39; /&#39;然后将字符串与<br/>放在一起。

最好的方法是什么?

3 个答案:

答案 0 :(得分:0)

使用<wbr>代替<br>。 wbr是一个分词机会,只有在需要时才会中断: https://developer.mozilla.org/en/docs/Web/HTML/Element/wbr

答案 1 :(得分:0)

最佳做法是仅在数据库中存储纯数据而不依赖于表示,并且每次使用此数据时,表示层都知道应如何呈现数据。

因此,您需要使用自动换行:break-word div 中换行文字,或者如果由于&#34;而无法在您的情况下进行。 \&#34;如果没有空格,您的字符串应该在呈现给用户之前进行预处理:

ModifiedString = OriginalString.Replace("\","\&#8203;");

然后您将在视图中使用此字符串:

<div style="width:100px;word-wrap:break-word;">
    ModifiedString
</div>

答案 2 :(得分:0)

除了您列出的选项外,还有两个选项:

  • &#x200B;是零宽度空间,并在需要时生成换行符。可能这是你可以在你的情况下使用的东西。所以:Frequently/&#x200B;Usually
  • 在斜杠周围设置<span>并根据需要设置样式,例如Frequently<span class="slash">/</span>Usually然后按照以下几行定义一些CSS:
.slash:after {
  content:"\000A";
  white-space: pre;
}