用PHP解码全文

时间:2013-04-18 05:05:22

标签: php html-entities htmlspecialchars

我有需要解码的输出,它会被传递到PHP页面:

<img src='http://freetopwallpaper.com/wp-content/gallery/puppy-pic/puppy wallpaper-hd-19.jpg' class='blog-image' />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi augue lorem, semper eget varius non, aliquam vel felis. Aliquam erat volutpat. Suspendisse pellentesque, ipsum sed vulputate consequat, ligula nisi tincidunt lacus, eget pretium sapien felis sed arcu. Vivamus ligula leo, interdum in vestibulum eget, malesuada nec diam. Mauris interdum metus vel purus dapibus non feugiat risus ultricies. Morbi semper convallis purus at varius. Mauris et lacinia lorem. Quisque id lacus sem cartomizer.

<strong>Proin facilisis lacus in nisi laoreet rutrum. Praesent ligula magna, interdum gravida egestas a, posuere at ante. Sed est neque, rhoncus et mattis in, cursus at risus. Sed in quam purus. Mauris vitae dui est, quis consequat lacus. Proin mollis congue erat in adipiscing. Quisque ultricies pulvinar fringilla. Cras vitae quam neque. Fusce mattis elit nec lacus volutpat atomizer pretium fermentum sed nisl. Proin sed urna non erat blandit feugiat nec non ante. Fusce eu diam quis tellus aliquam sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi vehicula leo ut tellus pulvinar vulputate. Donec imperdiet blandit fringilla.</strong>

当我运行html_entities_decode()htmlspecialchars_decode()时,它将输出为纯文本而不是HTML。此外,&amp;lt;strong&amp;gt;标记以原始状态输出,而不是转换为<strong> s。

我搜索过,但没有找到任何东西。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

尝试:

<?php
$buffer = <<<STR
&lt;img src=&#039;http://freetopwallpaper.com/wp-content/gallery/puppy-pic/puppy wallpaper-hd-19.jpg&#039; class=&#039;blog-image&#039; /&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi augue lorem, semper eget varius non, aliquam vel felis. Aliquam erat volutpat. Suspendisse pellentesque, ipsum sed vulputate consequat, ligula nisi tincidunt lacus, eget pretium sapien felis sed arcu. Vivamus ligula leo, interdum in vestibulum eget, malesuada nec diam. Mauris interdum metus vel purus dapibus non feugiat risus ultricies. Morbi semper convallis purus at varius. Mauris et lacinia lorem. Quisque id lacus sem cartomizer.

&amp;lt;strong&amp;gt;Proin facilisis lacus in nisi laoreet rutrum. Praesent ligula magna, interdum gravida egestas a, posuere at ante. Sed est neque, rhoncus et mattis in, cursus at risus. Sed in quam purus. Mauris vitae dui est, quis consequat lacus. Proin mollis congue erat in adipiscing. Quisque ultricies pulvinar fringilla. Cras vitae quam neque. Fusce mattis elit nec lacus volutpat atomizer pretium fermentum sed nisl. Proin sed urna non erat blandit feugiat nec non ante. Fusce eu diam quis tellus aliquam sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi vehicula leo ut tellus pulvinar vulputate. Donec imperdiet blandit fringilla.&amp;lt;/strong&amp;gt;
STR;

echo htmlspecialchars_decode(htmlspecialchars_decode($buffer, ENT_QUOTES));
?>

可能你在某个地方有双重编码的实体。截至PHP 5.4.5,它可以正常工作。

答案 1 :(得分:0)

使用此功能。

<?php
$btest = '&lt;img src=&#039;http://freetopwallpaper.com/wp-content/gallery/puppy-pic/puppy wallpaper-hd-19.jpg&#039; class=&#039;blog-image&#039; /&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi augue lorem, semper eget varius non, aliquam vel felis. Aliquam erat volutpat. Suspendisse pellentesque, ipsum sed vulputate consequat, ligula nisi tincidunt lacus, eget pretium sapien felis sed arcu. Vivamus ligula leo, interdum in vestibulum eget, malesuada nec diam. Mauris interdum metus vel purus dapibus non feugiat risus ultricies. Morbi semper convallis purus at varius. Mauris et lacinia lorem. Quisque id lacus sem cartomizer.
&amp;lt;strong&amp;gt;Proin facilisis lacus in nisi laoreet rutrum. Praesent ligula magna, interdum gravida egestas a, posuere at ante. Sed est neque, rhoncus et mattis in, cursus at risus. Sed in quam purus. Mauris vitae dui est, quis consequat lacus. Proin mollis congue erat in adipiscing. Quisque ultricies pulvinar fringilla. Cras vitae quam neque. Fusce mattis elit nec lacus volutpat atomizer pretium fermentum sed nisl. Proin sed urna non erat blandit feugiat nec non ante. Fusce eu diam quis tellus aliquam sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi vehicula leo ut tellus pulvinar vulputate. Donec imperdiet blandit fringilla.&amp;lt;/strong&amp;gt;';

echo $b = html_entity_decode($btest,ENT_QUOTES,"ISO-8859-1");
?>