正则表达式将文本中的空格替换为  

发布于 2024-10-27 13:20:19 字数 844 浏览 1 评论 0原文

我有一个html代码。像这样:

<div>
    (<- it is a tab) blaaaa ttoooo
    <span id="span" class="class">Hiii Bye</span>
    (<- these are 4 space character)
    <span id="span" class="class">Welcome   Back</span>
</div>

我想替换 >" ",而不是任何制表符 (\t)) code> 和 <(表示空格不在 html 标记中)与 &nbsp;。 (使用 PHP 和 RegEX)

所以替换后,我的代码如下:

<div>
    blaaaa&nbsp;ttoooo
    <span id="span" class="class">Hiii&nbsp;Bye</span>
    <-&nbsp;these&nbsp;are&nbsp;4&nbsp;space&nbsp;character
    <span id="span" class="class">Welcome&nbsp;&nbsp;&nbsp;Back</span>
</div>

我怎样才能做到这一点?

非常感谢。 ...

I've a html code. like this:

<div>
    (<- it is a tab) blaaaa ttoooo
    <span id="span" class="class">Hiii Bye</span>
    (<- these are 4 space character)
    <span id="span" class="class">Welcome   Back</span>
</div>

I want to replace any space(s) (only space: " ", and not any tab (\t)) between > and < (means the space(s) isn't in a html tag) with  . (with PHP and RegEX)

So after replacing, my code it it:

<div>
    blaaaa ttoooo
    <span id="span" class="class">Hiii Bye</span>
    <- these are 4 space character
    <span id="span" class="class">Welcome   Back</span>
</div>

How can I do this??

Thank you very much. ...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

故事与诗 2024-11-03 13:20:19

丑陋,但它会起作用:

$output = preg_replace_callback("#>[^<]+<#","replace_spaces",$input);

function replace_spaces($match)
{
     return str_replace(" "," ",$match[0]);
}

但不适用于最外层标签之外的空格。

Ugly, but it will work:

$output = preg_replace_callback("#>[^<]+<#","replace_spaces",$input);

function replace_spaces($match)
{
     return str_replace(" "," ",$match[0]);
}

but not for spaces outside of the outermost tags.

烟织青萝梦 2024-11-03 13:20:19

不。请改用 whitespace: pre CSS 声明。

Don't. Use a whitespace: pre CSS declaration instead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文