找回密码
 加入
搜索
查看: 1255|回复: 0

一个TXT2HTM的范例

[复制链接]
发表于 2009-7-3 16:38:49 | 显示全部楼层 |阅读模式
本帖最后由 caodongchun 于 2009-7-3 18:23 编辑

;困惑好久了,终于搞定了
;TXT2HTM 保留了超链接和email链接,保留了原有TXT的文档格式
;你可以在 http://tieba.baidu.com/f?kz=157732214 上复制一个圣诞树试验一下
$txtstr = FileRead(@ScriptDir & '\test.txt');读文件到字符串
$txtstr=String($txtstr)
$txtstr = StringReplace($txtstr, '<', '<');去除html标记
$txtstr = StringReplace($txtstr, '>', '>');去除html标记
$txtstr = StringReplace($txtstr, '  ', ' &nbsp;');替代空格
$urllinkstr = StringRegExp($txtstr, '(?s)[a-zA-z]+://[^\s]*', 3)
If IsArray($urllinkstr) Then
        For $x = 0 To UBound($urllinkstr) - 1
                $urllinkstr[$x] = StringReplace($urllinkstr[$x], '?', '\?')
                $txtstr = StringRegExpReplace($txtstr, '(?m)^' & $urllinkstr[$x] & '|' & '(?m) ' & $urllinkstr[$x] & '|' & '(?m)&nbsp;' & $urllinkstr[$x], '<A HREF="' & $urllinkstr[$x] & '" TARGET=_blank class=ilink>' & $urllinkstr[$x] & '</A>' & ' ', 1)
        Next
EndIf ;提取url并替换为html代码

$emllinkstr = StringRegExp($txtstr, '\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*', 3)
If IsArray($emllinkstr) Then
        For $x = 0 To UBound($emllinkstr) - 1
                $txtstr = StringRegExpReplace($txtstr, '(?m)^' & $emllinkstr[$x] & '|' & '(?m) ' & $emllinkstr[$x] & '|' & '(?m)&nbsp;' & $emllinkstr[$x], '<A HREF="mailto:' & $emllinkstr[$x] & '">' & $emllinkstr[$x] & '</A>' & ' ', 1)
        Next
EndIf;提取email并替换html代码

$txtstr = StringReplace($txtstr, @CRLF, '<BR>');替换换行符为html代码
$header = '<html>' & @CRLF & '<head>' & @CRLF & '<meta http-equiv="Content-Type" content="text/html; charset=gb2312">' & @CRLF & '<title>'
$title = '可以取自文件名'
$end = $title & '</title>' & @CRLF & '</head>' & @CRLF & '<body>' & @CRLF & '<span>' & $txtstr & '</span>' & @CRLF & '</body>' & @CRLF & '</html>'
$htmlstr = $header & $title & $end

$htmlfile = FileOpen(@ScriptDir & '\test.htm', 2)
FileWrite($htmlfile, $htmlstr)
FileClose($htmlfile)
ShellExecute(@ScriptDir & '\test.htm')

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +10 贡献 +3 收起 理由
lynfr8 + 10 + 3 原创内容,可以发到源码区

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-28 06:02 , Processed in 0.079068 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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