Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 求实现一个html代码转换为dz论坛代码的php函数

[复制链接]
itdqs.com 发表于 2015-11-25 15:49:53 | 显示全部楼层 |阅读模式
如题
格式如下:
//PHP实现

function(str)  //这个str是字符串类型的html代码,例如:'<div><a >开始访问</a></div>'
{
//相关逻辑处理代码
return  str;
}

需求说明;小弟知道用正则表达式处理,但是鉴于小弟不太熟悉正则表达式,虽然在学习正则!
相关:我找到了一个html转换为ubb的代码:php实现的,如下

function htmltoubb($str)
{
  $str = str_replace("\n",'',$str);
  $str = preg_replace("/\<A[^>]+HREF=\"([^\"]+)\"[^>]*\>(.*?)<\/a\>/i","$2",$str);
  $str = preg_replace("/\<font(.*?)color=\"#([^ >]+)\"(.*?)\>(.*?)<\/font>/i","<font$1$3>[color=$2]$4</font>",$str);
  $str = preg_replace("/\<font(.*?)face=\"([^ >]+)\"(.*?)\>(.*?)<\/font>/i","<font$1$3>[face=$2]$4[/face]</font>",$str);
  $str = preg_replace("/\<font(.*?)size=\"([^ >]+)\"(.*?)\>(.*?)<\/font>/i","[size=$2]$4",$str);
  $str = preg_replace("/\<img[^>]+src=\"([^\"]+)\"[^>]*\>/i","",$str);
  $str = preg_replace("/\<DIV[^>]+ALIGN=\"([^\"]+)\"[^>]*\>(.*?)<\/DIV\>/i","[align=$1]$2",$str);
  $str = preg_replace("/\<([\/]?)u\>/i","[$1u]",$str);
  $str = preg_replace("/\<([\/]?)em\>/i","[$1I]",$str);
  $str = preg_replace("/\<([\/]?)strong\>/i","[$1b]",$str);
  $str = preg_replace("/\<([\/]?)b(.*?)\>/i","[$1b]",$str);
  $str = preg_replace("/\<([\/]?)i\>/i","[$1i]",$str);
  $str = preg_replace("/<[^>]*?>/i","",$str);
  return $str;
}

但是ubb代码和dz代码还是有区别的,希望哪位大神帮忙实现一下,万分感谢!可以随时qq我:

选峰工作室 发表于 2015-11-25 20:06:20 | 显示全部楼层
DZ本身的
html2bbcode($text)
在source/function/function_editor.php不用谢。有钱给我口烟抽下总可以吧。
回复

使用道具 举报

 楼主| itdqs.com 发表于 2015-11-26 08:20:24 | 显示全部楼层
选峰工作室 发表于 2015-11-25 20:06
DZ本身的
html2bbcode($text)
在source/function/function_editor.php不用谢。有钱给我口烟抽下总可以吧 ...

真心感谢,我去看看源代码!
回复

使用道具 举报

 楼主| itdqs.com 发表于 2015-11-26 08:25:10 | 显示全部楼层
我昨天也写了一个满足我需要的,不过我只转码了url和img标签的,其他的标签对我这个功能来说,不重要!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-17 00:53 , Processed in 0.030638 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表