2012-06-29 31 views
20

điều này có vẻ như là một vấn đề đơn giản nhưng tôi không thể tìm thấy nó trong kho lưu trữ.ngược htmlspecialchars

cách đảo ngược hiệu ứng của htmlspecialchars?

tôi đã cố gắng một cái gì đó như thế này:

$trans_tbl = get_html_translation_table (HTML_ENTITIES); 
$trans_tbl = array_flip ($trans_tbl); 
$html = strtr ($html, $trans_tbl); 

nhưng nó đã không làm việc. Có một cách đơn giản để làm điều này?

+1

Đọc hướng dẫn, nó sẽ cho bạn biết tất cả các chức năng có liên quan đến chức năng bạn đang xem trong phần 'xem thêm' [đây là phần dành cho 'htmlspecialchars()'] (http: // php. net/manual/en/function.htmlspecialchars.php # refsect1-function.htmlspecialchars-seealso) – Manuel

+4

Câu hỏi này dường như không có chủ đề vì nó có thể được tìm thấy trong [manual] (http://php.net/manual/ vi/function.htmlspecialchars-decode.php). –

Trả lời

51

Sử dụng htmlspecialchars_decode()

<?php 
$str = "<p>this -&gt; &quot;</p>\n"; 

echo htmlspecialchars_decode($str); 

// note that here the quotes aren't converted 
echo htmlspecialchars_decode($str, ENT_NOQUOTES); 
?> 

Reference - PHP Official Doc

+0

Bằng 8 giây, phiếu bầu của tôi sẽ đến với bạn. –

+0

đoạn mã này là từ tài liệu php chính thức không có tín dụng. xấu hổ về bạn. http://php.net/manual/en/function.htmlspecialchars-decode.php – Umingo

+0

@Umingo Cảm ơn bạn đã đề xuất và tôi đã cung cấp liên kết tham chiếu, mặc dù tôi không cảm thấy xấu hổ vì điều này vì không có người đứng đầu thực sự bị gỡ bỏ vì điều này;) – swapnesh

4

Bạn cần htmlspecialchars_decode(). Xem PHP docu on this.

$html = htmlspecialchars_decode($html, ENT_NOQUOTES); 
0

Từ những gì tôi hiểu, bạn cần htmlspecialchars_decode - Docu

3

dụ: & bạn "kỳ lạ" văn bản với các nhân vật như "/ $%:

echo htmlspecialchars_decode(htmlspecialchars('your "strange" text with characters like !"/$%?&*')) 

nó sẽ echo!? *

đây là ví dụ về mã hóa/giải mã. Công cụ này hoạt động