Home > php教程 > php手册 > body text

php 将html 转成wml WAP标记语言

WBOY
Release: 2016-06-06 19:31:40
Original
1201 people have browsed it

php将html转成wmlWAP标记语言 无 源码与演示: 源码出处演示出处 ?php//---------------------------------------// Html 标记WAP语言//----------------------------------------function html2wml($content){ //保留图片 preg_match_all("/img([^]*)/isU",

php 将html 转成wml WAP标记语言 

源码与演示:源码出处 演示出处

<?php
//---------------------------------------
// Html 标记WAP语言
//----------------------------------------
function html2wml($content)
{
     //保留图片
     preg_match_all("/<img ([^ alt="php 将html 转成wml WAP标记语言" >]*)>/isU", $content, $imgarr);
     if(isset($imgarr[0]) && count($imgarr[0])>0 )
     {
         foreach($imgarr[0] as $k=>$v) $content = str_replace($v, "WAP-IMG::{$k}", $content);
     }
     // 过滤掉样式表和脚本
     $content = preg_replace("/<style .*?<\\/style>/is", "", $content);
     $content = preg_replace("/<script .*?<\\/script>/is", "", $content);
     // 首先将各种可以引起换行的标签(如<br />、<p> 之类)替换成换行符"\\n"
     $content = preg_replace("/<br \\s*\\/?\\/>/i", "\\n", $content);
     $content = preg_replace("/<\\/?p>/i", "\\n", $content);
     $content = preg_replace("/<\\/?td>/i", "\\n", $content);
     $content = preg_replace("/<\\/?div>/i", "\\n", $content);
     $content = preg_replace("/<\\/?blockquote>/i", "\\n", $content);
     $content = preg_replace("/<\\/?li>/i", "\\n", $content);
     // 将" "替换为空格
     $content = preg_replace("/\\&nbsp\\;/i", " ", $content);
     $content = preg_replace("/\\&nbsp/i", " ", $content);
     // 过滤掉剩下的 HTML 标签
     $content = strip_tags($content);
     // 将 HTML 中的实体(entity)转化为它所对应的字符
     $content = html_entity_decode($content, ENT_QUOTES, "GB2312");
     // 过滤掉不能转化的实体(entity)
     $content = preg_replace('/\\&\\#.*?\\;/i', '', $content);
     // 上面是将 HTML 网页内容转化为带换行的纯文本,下面是将这些纯文本转化为 WML。
     $content = str_replace('$', '$$', $content);
     $content = str_replace("\\r\\n", "\\n", htmlspecialchars($content));
     $content = explode("\\n", $content);
     for ($i = 0; $i < count($content); $i++)
     {
        $content[$i] = trim($content[$i]);
        // 如果去掉全角空格为空行,则设为空行,否则不对全角空格过滤。
        if (str_replace(' ', '', $content[$i]) == '') $content[$i] = '';
     }
     $content = str_replace("<p><br /></p>\\n", "", '<p>'.implode("<br /></p>\\n<p>", $content)."<br /></p>\\n");
       
     //还原图片
     if(isset($imgarr[0]) && count($imgarr[0])>0 )
     {
                foreach($imgarr[0] as $k=>$v)
                {
                    $attstr = (preg_match('#/$#', $imgarr[1][$k])) ? '<img  '.$imgarr[1][$k].' alt="php 将html 转成wml WAP标记语言" >' : '<img  '.$imgarr[1][$k].' / alt="php 将html 转成wml WAP标记语言" >';
                    $content = str_replace("WAP-IMG::{$k}", $attstr, $content);
                }
     }
       
     $content = preg_replace("/&[a-z]{3,10};/isU", ' ', $content);
       
     return $content;
}
 
function text2wml($content)
{
     $content = str_replace('$', '$$', $content);
     $content = str_replace("\\r\\n", "\\n", htmlspecialchars($content));
     $content = explode("\\n", $content);
     for ($i = 0; $i < count($content); $i++)
     {
        // 过滤首尾空格
        $content[$i] = trim($content[$i]);
        // 如果去掉全角空格为空行,则设为空行,否则不对全角空格过滤。
        if (str_replace(" ", "", $content[$i]) == "") $content[$i] = "";
     }
     //合并各行,转化为 WML,并过滤掉空行
     $content = str_replace("<p><br /></p>\\n", "", "<p>".implode("<br /></p>\\n<p>", $content)."<br /></p>\\n");
     return $content;
}
?>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!