【问题标题】:Replace multiple whitespaces inside HTML elements with  将 HTML 元素中的多个空格替换为
【发布时间】:2012-01-28 18:31:41
【问题描述】:

我有大量类似于

的html
<div>some text</div>

有多个空格,我想替换为

<div>some&nbsp;&nbsp;&nbsp;text</div>

有没有办法通过像 notepad++/dreamweaver 这样的 HTML 编辑器来做到这一点?我的问题是仅隔离尾随/跟随文本的空格。

【问题讨论】:

  • 你缺少&amp;nbsp;末尾的分号
  • 是否有可能连续有多个空格?
  • 你需要它的目的是什么?有一些 CSS 方法可以控制空格的行为。
  • 只需要保留空白。我的问题实际上并不清楚。假设我在字符之间有两个空格,当浏览器呈现它时,它们都折叠成一个空格。 white-space:pre-wrap 看起来很理想,但在 IE7 中似乎不起作用
  • @Michael - 完全正确。我写错了问题;道歉。

标签: html css regex notepad++ dreamweaver


【解决方案1】:

正如评论者所说,应该是&amp;nbsp;

您应该能够进行简单的查找和替换,将空格替换为&amp;nbsp;。 Notepad++肯定有这个功能。

要意识到的一件事是 nbsp 代表不间断空格,或者换句话说,一个永远不允许换行的空格。如果您有一大块包含所有 nbsp 的文本,它将全部显示在一行上,并且可能需要水平滚动才能阅读。

【讨论】:

    【解决方案2】:

    如果您正在寻找使用任何编辑器并修改您的 HTML,那么您可以使用替换 notepad++ 的所有功能。

    打开全部替换对话框的快捷键是Ctrl +H。在此对话框中,您应该输入要查找的字符串和要替换的字符串,然后单击替换。

    我希望这对你有意义。您不需要 javascript 来执行此操作。

    【讨论】:

    • 在这种情况下,我怎样才能只隔离元素内部的空格,而不是标签之间的空格?一些帮助找到执行此操作的正则表达式?
    【解决方案3】:
    <script type="text/javascript" language="javascript">
        $(document).ready(function(){
            $("#theDiv").text( $("#theDiv").html().replace(/\s/g, "&nbsp;") );
        });
    </script>
    </head>
    <body>
        <div id="theDiv">something in here</div>
    </body>
    </html>
    

    像这样?

    【讨论】:

    • 我不确定 Javascript 解决方案是否可以在这里工作。当我在浏览器(IE7)中检查代码时,我看到的只是一个单一的白人节奏,而源代码中有多个。我在这里错过了什么吗?我的目标是将每个空格转换为 &nbsp 标签,或者在不使用
       标签的情况下实现类似的效果。
    猜你喜欢
    • 2011-10-06
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 2021-03-13
    相关资源
    最近更新 更多