2013-04-18 15 views
0

我有我需要被解码,它传递到PHP页面,这样的输出:解码全文用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。

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

回答

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起作用。

+0

当我回到家中并回报时,我们会看看这个。 – 2013-04-18 14:14:20

+0

它现在正在修复所有标记,但仍然以纯文本而不是实际的html格式输出。例如输出'strong'而不是粗体文本。 – 2013-04-18 21:15:19

+0

试试'header('Content-Type:text/html')'。您的浏览器无法正确识别响应。如果它在''页身中,并且被排除在标记之外,如“”或“

”,那么它应该已经工作。我的Chrome 26已经识别标签了。 –
                        
                            
    BlitZ
                                2013-04-19 02:50:44
                            
                        
                    

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"); 
?> 
+0

试过这个;相同的输出。 – 2013-04-18 06:09:29

+0

@AndrewKlatzke现在编辑我的答案。如果你想要返回html数据,那么试试这个。 – 2013-04-18 06:24:07