php
  • html
  • xml
  • 2015-07-22 53 views 0 likes 
    0

    我试图在xml中解码html标签,但html标签的功能未能正常工作。 这里是我的代码:如何在xml中使用php解码html标签

    <?php 
    
    $sample = '<p>&nbsp Sample</p> 
          <p>Sample 2</p>'; 
    
    header('Content-type: text/xml'); 
    $output = '<rss version="2.0">'; 
    $output .= '<channel>'; 
    $output = '<description>.utf8_encode(html_entity_decode($sample)).</description>'; 
    echo($output); 
    $output .= '</channel>'; 
    $output .= '</rss>'; 
    ?> 
    

    输出是一个纯文本。 <p>标记的功能不起作用。当我删除utf8_encode它错误&nbsp;

    +0

    '&nbsp'是一个无效的实体。您在关闭'channel'和'rss'元素之前输出。 – chris85

    回答

    0

    试试这个

    <?php 
    $sample = '<p>Sample</p><p>Sample 2</p>'; 
    
    header('Content-type: text/xml'); 
    $output = '<rss version="2.0">'; 
    $output .= '<channel>'; 
    $output .= '<description>'. strip_tags(utf8_encode(html_entity_decode($sample))).'</description>'; 
    $output .= '</channel>'; 
    $output .= '</rss>'; 
    echo($output); 
    

    结果:

    <rss version="2.0"> 
        <channel> 
         <description> 
          <p>Sample</p> 
          <p>Sample 2</p> 
         </description> 
        </channel> 
    </rss> 
    

    你需要单独的字符串PHP函数。

    +0

    此外,您可能不希望在 ...行中直接分配到$输出。你可能要使用。=再次 – edhurtig

    +0

    对不起。我错误地编码了我的代码。我使用该代码,但我有相同的输出。描述显示为纯文本。 –

    +0

    @ChristianBeltran你必须去掉你不想要的标签 –

    相关问题