PHP关于代码转换问题比较完善的解决办法

最近在写bbs中,遇上代码转换问题。寻找了很久,才得到一个比较完善的解决办法,可以彻底还原发文者的原文。

以下贴出,供大家指正。

系统:linux+php4+oracle8i

<?
//--标题,名字等字段入库处理(去首尾空格)
function trans_string_trim($str) {
  $str=trim($str);
  $str=eregi_replace("'","''",$str);
  $str=stripslashes($str);
  return $str;
}
//--文章入库处理,即textarea字段;
function trans_string($str) {
  $str=eregi_replace("'","''",$str);
  $str=stripslashes($str);
  return $str;
}
//--从库中显示在表单中;在text中以trans转换,在textarea中,无需转换,直接显示
//--显示在WEB页面,过滤HTML代码;包括链接地址
function trans($string) {
  $string=htmlspecialchars($string);
  $string=ereg_replace(chr(10),"<br>",$string);
  $string=ereg_replace(chr(32)," ",$string);
  return $string;  
}
//--显示在WEB页面,不过滤HTML代码;
function trans_web($string) {
  $string=ereg_replace(chr(10),"<br>",$string);
  $string=ereg_replace(chr(32)," ",$string);
  return $string;  
}
//--显示在WEB页面,过滤HTML代码及头尾空格,主要用于显示用户昵称
function trans_trim($string) {
  $string=trim($string);
  $string=htmlspecialchars($string);
  $string=ereg_replace(chr(10),"<br>",$string);
  $string=ereg_replace(chr(32)," ",$string);
  return $string;  
}
//--显示在span中;
function trans_span($string) {
  $string=ereg_replace(chr(10),"\n",$string);
  $string=ereg_replace(chr(32)," ",$string);
  $string=ereg_replace('"',""",$string);
  return $string;  
}
//--在WEB上显示cookie,过滤html
function trans_cookie($str) {
  $str=trans($str);
  $str=stripslashes($str);
  $str=eregi_replace("''","'",$str);
  return $str;
}
?>

最后,顺带补充一点,如果在span中显示文章中的一段,采用substr取定长字符串时,记得在span的参数后面多加一个空格,否则遇上截到半个汉字时,会搞乱html代码。

时间: 2024-10-30 22:17:27

PHP关于代码转换问题比较完善的解决办法的相关文章

mysql 数据库查询随机数量条目的效率问题及解决办法

最近由于需要大概研究了一下MYSQL的随机抽取实现方法.举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1. 但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描.但是在MYSQL 3.23版本中,仍然可以通过ORDER BY RAND()来实现随机. 但是真正测试一下

DBA工作备忘录之三:rman备份,未使用catalog,控制文件丢失的解决办法

备份|解决|控制 [Oracle] DBA工作备忘录之三:rman备份,未使用catalog,控制文件丢失的解决办法 作者:Fenng 日期:July 19 2004 情况描述客户报告数据库故障,新来的系统管理员误操作.删掉了一些文件.询问:删掉了那些文件?答曰:所有重要数据文件,所有控制文件.数据库原来是归档模式,用rman备份数据,rman 使用控制文件.幸运的是,最后一次rman full 备份是包括了控制文件在内.系统没有设定自动备份控制文件.现在状况是数据库无法启动. 不用说,客户的备

总结网站关键词排名下降的原因及解决办法

看到这个标题,大家肯定会看到之前有人总结过原因,但是小鹤觉得不够完全,而且没有说明解决办法,所以今天小鹤花点时间,在别人的基础上补充一些没有的原因,并把相应的解决办法分享出来.   1.搜索引擎自身的原因 搜索引擎的算法时常都会有细微的改变,这样或多或少的会影响到网站排名,这种情况有的时候过几天就恢复了,有的一直不会恢复. 解决办法:对于这种原因,你先要分析下原因,并且到大型的seo论坛或者QQ群去了解下搜索引擎的算法变化,当然,你了解到的信息只能作为参考,然后自己根据情况分析分析,并尝试的测试

解读影响新站快照收录的因素及解决办法

对于每一个上线后的新站而言,站长们都对此网站抱了极大的失望,希望此网站可以如何,如何,在做此站的时候心里肯定在盘算着一些东西,然而,新站在上线后却发现并没那么顺风顺水,网站都上线将近一个月了,可还没被百度收录,或是被百度收录之后却发现在快照里内容栏里列表页都是空的,总之,新站在上线后,前期总会遇到各种各样的问题,而这些都是什么原因引起的呢?下面A5站长网SEO诊断团队来和大家简单的谈下影响新站快照收录的因素及解决办法,希望对广大的新手站长朋友们有所帮助. 网站程序代码存在问题 对于一些做网站的程

Win8.1预览版常见问题以及解决办法大全

微软Win8.1预览版常见问题及解答大全: 一. 什么是Windows 8.1 Preview? Windows 8.1 Preview和Windows RT 8.1 Preview是Windows 8.1的预发行版本.它们是在Windows 8基础上构建的,为你的工作.娱乐以及你想在电脑上做的所有其他事情提供了更多方法.Windows 8.1 Preview和Windows RT 8.1 Preview在个性化.搜索.应用程序.Windows应用商店和云连接方面提供了增强功能,并且拥有你期望W

更新显卡驱动时花屏的解决办法

有些用户在安装或更新显卡驱动的时候会遇到花屏问题,即重启完电脑后,屏幕分辨率很低,颜色质量差,并且无法调节的问题(仅限XP系统,新系统 win7.win8基本整合了主流的显卡驱动),那么如何正确更新显卡驱动呢?小编这里告诉大家解决办法.本文旨在给菜鸟小白普及硬件知识,老鸟请无视. 问题原因 更新显卡驱动后,新的显卡驱动文件没有被系统正确加载和调用,造成重启电脑后,系统仍然加载旧版本的显卡驱动文件(此时旧版本显卡驱动文件已经不完整会出错),系统显示出来的效果就是 颜色差,分辨率低等情况.如图: 解

电脑蓝屏的原因及解决办法

  "蓝屏故障和其它故障一样,根据成因大致可以分为软件和硬件两个方面.现在还是遵循先软后硬的原则来看看故障的成因和解决办法吧! 一.软件引起的蓝屏故障 1.重要文件损坏或丢失引起的蓝屏故障(包括病毒所致). 实例:Win98中的VxD(虚拟设备驱动程序)或是.DLL 动态连接库 之类的重要文件丢失,情况一般会比较严重,会出现"蓝屏警告". 解决方法一:记下所丢失或损坏的文件名 用Win98启动盘中的"Ext"命令从Win98安装盘中提取和恢复被损坏或丢失的

电脑上不了网,网络受限或无连接的解决办法

  我们在家或者在公司上网的时候经常会遇到:掉线,网络受限或无连接等等,总之上不了网,估计这是最让大家不爽的事了.出现掉线,网络受限或无连接这种状况的原因有很多,下面我就总结我个人一些经验,希望能够帮到大家 相关知识: 1,如何进入DOS命令窗口:开始-->运行-->输入cmd-->回车,进入DOS命令窗口 2,关于Ping命令:基本格式:Ping 192.168.1.100 –t,记住Ping和IP地址之间有空格,详细情况请参阅关于Ping命令以及Ping命令的用法 3,如何查询本机的

智慧城市应以人为核心 与利益相关方一起寻解决办法

随着城市快速发展.人口聚集,城市面临着诸多管理难题,比如环境污染.应急突发事件.违章停车.共享单车乱停乱放等等,面对这些或大或小的事件,"城市智慧中心"充分发挥当前的移动互联网技术,同时应用整合智慧城市多项创新能力,为政府提供了全新的治理模式,也为市民更好地参与到城市管理中提供了便利的服务平台. 在社会经济新常态的背景下,城市建设由增量扩张向存量优化转型,空间生产的主体由国家和集体向个人.企业和社会组织等转变.新型城镇化把人的城镇化作为核心,强调多元社会主体参与,优化城市综合治理体系.