2012-06-29 11 views
20

これは簡単な問題のように思えるかもしれませんが、アーカイブで見つけることができませんでした。逆htmlspecialchars

htmlspecialcharsの効果をどのように戻しますか?

私はこのような何か試してみました:

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

をそれはうまくいきませんでした。これを行う簡単な方法はありますか?

+1

マニュアルを読むと、 'see also'セクション[これは 'htmlspecialchars()'](http:// php。)セクションで見ているものと何か関係があるすべての関数を教えてくれます。 – Manuel

+4

この質問は、[manual](http://php.net/manual/)にありますので、この質問は話題にならないようです。 ja/function.htmlspecialchars-decode.php)。 –

答えて

51

使用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); 
?> 

リファレンス - PHP Official Doc

+0

8秒で私の投票はあなたに行きます。 –

+0

この抜粋は、クレジットなしの公式PHPドキュメントです。恥を知れ。 http://php.net/manual/en/function.htmlspecialchars-decode.php – Umingo

+0

@Umingo提案をいただきありがとうございました。参考リンクをご提供しましたが、頭が実際には取り除かれていないため、このため ;) – swapnesh

4

あなたはhtmlspecialchars_decode()を必要としています。 PHP docu on thisを参照してください。私が理解したものから

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

例:

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

それがエコーされます: 文字であなたの "奇妙な" テキストをように "/ $%&!? *

これはエンコード/デコードの例です。

関連する問題