2010-09-14 143 views
10

内容是如何将 替换为空格?

    Hello World. 

<a&nbsp;href="#"&nbsp;target=_blank>hello&nbsp;World</a> 

如何在HTML代码替换&nbsp;并保持其他&nbsp;中的文本。

+7

如果可能的话,你应尽量避免将' '放入你的html代码中第一名。 – Heinzi

+0

是的,你是如何得到这种情况的?向我们显示该代码。 – Steven

+0

你用什么程序来创建标记? –

回答

4

你可以尝试寻找

(?<=<[^>]*)&nbsp; 

,并用一个空格代替它?

此内容在标签内寻找&nbsp;(在<之前,可能还有其他字符,但>除外)。

虽然这是非常脆弱的。例如,如果在字符串/属性中有</>符号,它将会失败。最好避免将这些&nbsp;放在首位的错误位置。

+1

RegEx用于简单替换?这看起来像试图用核弹击中一只苍蝇:) – Andrey

+4

@Andrey:这不是一个简单的替换。您可能需要再次阅读问题的最后一行。 ;-) – Heinzi

+0

Thanks.It工作正常。 – AlphaWu

4
+2

我认为这并没有解决“在文本中保留其他 ”。部分... – Heinzi

+0

同意,在这种情况下,他应该使用正则表达式。 – Andrey

+0

虽然这可能在理论上回答这个问题,但[这将是更可取的](// meta.stackoverflow.com/q/8259)在这里包括答案的基本部分,并提供供参考的链接。 –

0

这会找到你包含文本的那些条& NBSP:

<[^>]+?&nbsp;[^<]+?> 

Fropm在这里你可以做一个简单的字符串替换空格,因为正则表达式会给你在文本中匹配的内容。

9

对我来说最好的是:

Imports System.Web 
HttpUtility.HtmlDecode(codeHtml) 
+4

当留下答案时,重要的是尝试做两件事情....确保您的答案解答问题,并解释您的解决方案为何解决问题。这很重要,因为不是每个阅读此问题的人都将成为专家,并且无法看到您的解决方案如何解决问题。考虑编辑你的答案,试图解释它是如何解决这个问题的。 – psubsee2003

+2

这实际上是这里最好的答案,虽然解释不好。有关HtmlDecode实际执行的内容,请参阅MSDN文档。 – Dylan

1
string A = HttpContext.Current.Server.HtmlDecode(Text); 

string A = Text.Replace("&nbsp"," "); 

string A = Text.Replace("&amp;nbsp;", " "); 

          ↑ &amp;nbsp; 
0

只需更换& NBSP到文本的String.Empty像下面以后。

xyz.Text.Replace("&nbsp;", string.Empty);