2011-09-08 39 views
6

Tôi có dữ liệu HTML được lưu trữ trong cơ sở dữ liệu mà tôi muốn hiển thị. Nó tiếp tục chuyển đổi các thẻ
thành &lt;br /&gt; mà là một hành vi mà tôi không muốn. Tôi đã thử chơi với javascript thay thế và vẫn còn tôi không thể chuyển đổi nó sang HTML thông thường.Tại sao thẻ "<br />" của tôi bị chuyển đổi thành "< br/>"?

var venueaddress = msg.result[0].venueaddress; 
    var venueaddress2 = venueaddress.replace("[newline]", "<br />"); 

       alert(venueaddress2); //shows <br /> 


$("#venueaddress").text(venueaddress2); //lets now display it on the browser 

<li><h3>Venue Address</h3><p><strong> <span id="venueaddress"></span> </strong></p></li> 

Tuy nhiên khi nó ám trên trình duyệt, nó có < br/> và có mũi không có ngắt dòng.

+3

bạn có thể dán mã nơi bạn thêm HTML vào trang của mình –

+0

Bạn có mã hóa HTML trước khi lưu trữ trong cơ sở dữ liệu không? Và bạn đang cố gắng hiển thị HTML với phần đánh dấu còn nguyên vẹn? –

+0

kiểm tra bài đăng này http://stackoverflow.com/questions/1147359/jquery-decode-html-entities – Samich

Trả lời

7

Vấn đề của bạn là với

$("#venueaddress").text(venueaddress2); 

bạn nên sử dụng

$("#venueaddress").html(venueaddress2); 

Văn bản sẽ mã hóa bất kỳ ký tự html và sẽ hiển thị nó trong khoảng thời gian như mã hóa, html sẽ không.

+0

Cảm ơn tôi đã hoàn toàn bỏ lỡ điều đó. – jini

2

Có lẽ vì khi bạn chèn nó vào DOM, bạn sẽ chèn nó dưới dạng văn bản chứ không phải dưới dạng HTML.

Vì bạn không hiển thị mã bạn đang sử dụng để làm điều đó, thật khó để nói chắc chắn hoặc để nói cách tốt nhất để thay đổi mã đó là gì.

+0

bạn hoàn toàn đúng – jini

0

Dữ liệu html của bạn đang bị "thoát". Điều này ngăn người khác gửi thẻ <script> cho những người không ngờ tại trình duyệt của họ.

Khắc phục: trước tiên, bạn cần phải xác định xem sự cố của mình có phải là "lỗi" hay "tính năng" hay không.

Việc thoát html thường là một điều tốt. Đặc biệt nếu vấn đề duy nhất là một trong những bài thuyết trình.

Ví dụ: công việc xung quanh có thể là chèn ký tự dòng mới thay vì phần tử br.

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