搞了个WAP页面,将HTML转义为纯文本

提醒:本文最后更新于 4147 天前,文中所描述的信息可能已发生改变,请仔细核实。

WAP界面详细见 /wap/,本版本因为不兼容问题,修复了一下。还有就是因为loper(良心的主题一般都会带的)有@某某人,是有个链接的,会导致最新评论出错(无法显示,无法打开目标地址,显示不全等)。

重要的部分以高亮:

<?php
            global $wpdb

               $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
               comment_post_ID, comment_author, comment_date_gmt, comment_approved,
               comment_type,comment_author_url,
               comment_content AS com_excerpt
               FROM $wpdb->comments
               LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
               $wpdb->posts.ID)
               WHERE comment_approved = '1' AND comment_type = '' AND
               post_password = ''
               ORDER BY comment_date_gmt DESC
               LIMIT 10";
               $comments = $wpdb->get_results($sql);

               $output = $pre_HTML;
//                $output .= "\n<ul>";
               $output .= '<div class="page"><ol id="pages">';
               foreach ($comments as $comment)
               {
               $temp_comment_content=preg_replace("'<[\/\!]*?[^<>]*?>'si",'',$comment->com_excerpt);
                   $output .= '<li class="page_item page-item-2">'
                       .strip_tags($comment->comment_author) ."</span>:"
                       . "<a href=\"comments.php?p="
                       . $comment->comment_post_ID . "#comment-"
                       . $comment->comment_ID . "\" title=\"on " .
                       $comment->post_title . "\">" . convert_smilies($temp_comment_content ). "</a></li>";
               }
               $output .= '</ol></div>';

//                $output .= "\n</ul>";
               $output .= $post_HTML;

               echo $output;
           ?>

22行就是转义成文本的


完全将HTML(标签,脚本等)转换成文本

<?php
// $document 应包含一个 HTML文档。
// 本例将去掉 HTML 标记,javascript 代码
// 和空白字符。还会将一些通用的
// HTML 实体转换成相应的文本。
$search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
"'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 标记
"'([\r\n])[\s]+'", // 去掉空白字符
"'&(quot|#34);'i", // 替换 HTML 实体
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'&#(\d+);'e"); // 作为 PHP 代码运行
$replace = array ("",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\\1)");
$text = preg_replace ($search, $replace, $document);
?>

WAP界面:

转载请注明转自:kn007的个人博客的《搞了个WAP页面,将HTML转义为纯文本