2010-09-14 31 views
10

Nội dung làLàm cách nào để thay thế   thành không gian?

    Hello World. 

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

Làm thế nào để thay thế &nbsp; trong mã html và giữ &nbsp; khác trong văn bản.

+7

Nếu có thể, bạn nên cố gắng tránh ' ' vào mã html của bạn trong địa điểm đầu tiên. – Heinzi

+0

Có, làm cách nào bạn nhận được trong tình huống này? Cho chúng tôi xem mã đó. – Steven

+0

Bạn đang sử dụng chương trình nào để tạo đánh dấu đó? –

Trả lời

4

Bạn có thể thử tìm kiếm

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

và thay thế nó bằng một không gian duy nhất?

Điều này tìm kiếm các thẻ bên trong &nbsp; (trước bởi < và có thể là các ký tự khác ngoại trừ >).

Điều này cực kỳ dễ vỡ. Ví dụ: nó sẽ thất bại nếu bạn có các ký hiệu </> trong chuỗi/thuộc tính. Tốt hơn, tránh để những người này bị sai số &nbsp; vào vị trí đầu tiên.

+1

RegEx để thay thế đơn giản? Điều này có vẻ như cố gắng bắn một quả bom đơn với quả bom hạt nhân :) – Andrey

+4

@Andrey: Nó không phải là một sự thay thế đơn giản. Bạn có thể muốn đọc lại dòng cuối cùng của câu hỏi. ;-) – Heinzi

+0

Thanks.It hoạt động OK. – AlphaWu

4

Nó đơn giản

youString.Replace("&nbsp;", " "); 

lớp String http://msdn.microsoft.com/en-us/library/system.string.aspx

Thay thế phương pháp http://msdn.microsoft.com/en-us/library/fk49wtc1.aspx

+2

Tôi nghĩ rằng điều này không giải quyết được "giữ   khác trong văn bản." một phần ... – Heinzi

+0

đồng ý, trong trường hợp này, ông nên sử dụng regex. – Andrey

+0

Trong khi điều này về lý thuyết có thể trả lời câu hỏi, [nó sẽ là thích hợp hơn] (// meta.stackoverflow.com/q/8259) để bao gồm các phần thiết yếu của câu trả lời ở đây, và cung cấp liên kết để tham khảo. –

0

này sẽ tìm cho bạn tất cả những dải của văn bản chứa & nbsp:

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

Fropm ở đây bạn chỉ có thể làm một chuỗi đơn giản thay thế bằng không gian kể từ khi Regex sẽ cung cấp cho bạn các lcoation ofthe phù hợp trong văn bản của bạn.

9

Đối với tôi, tốt nhất là:

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

Khi để lại câu trả lời, điều quan trọng là phải cố gắng làm 2 việc .... đảm bảo câu trả lời của bạn giải quyết câu hỏi như được hỏi và giải thích lý do giải pháp của bạn giải quyết được vấn đề. Điều này là quan trọng bởi vì không phải ai đọc câu hỏi này sẽ là một chuyên gia và sẽ không thể xem giải pháp của bạn giải quyết vấn đề như thế nào. Xem xét chỉnh sửa câu trả lời của bạn để cố gắng giải thích cách giải quyết vấn đề. – psubsee2003

+2

Đây thực sự là câu trả lời hay nhất ở đây, mặc dù đã được giải thích rất ít. Xem tài liệu MSDN về những gì HtmlDecode thực sự làm. – Dylan

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

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

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

          ↑ &amp;nbsp; 
0

chỉ Replace & nbsp để string.Empty sau chữ như dưới đây ..

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

Các vấn đề liên quan