请教:提交内容的处理!!!

javenfang 2002-11-07 06:02:10
比如就在这个论坛中,提交的内容,要保存到数据库中,或者生成 htm 文件 。。。

怎么样处理呢?又要可以输入 html / php 字符,但又要再显示时不会被解析。

搞不定,也搜索了一些资料,请教大家了。 谢谢!!!
...全文
46 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gmj_1019 2002-11-27
  • 打赏
  • 举报
回复
不用for循环,也不用javascript就可以
$jt是文章内容
$jt = htmlspecialchars($jt);
$jt = str_replace("\n", "<br>", $jt);
$jt = str_replace(" ", " ", $jt);
$jt = str_replace(" <", "<", $jt);
$jt = str_replace("> ", ">", $jt);
javenfang 2002-11-27
  • 打赏
  • 举报
回复
希望能引起大家的关注:
  比如就我们现在这个论坛是怎么处理这个问题的?不过他用的是 asp.

多谢楼上的回答,但实际上不好用。我借用了别人的源代码,但还是一知半解:
比如英文的空格,贴上去后都没有了。其它倒还可以。

function check_str($txt) {
$count=0;
$arrtemp=$txt;
$len=strlen($txt);
$txt=$txt.' ';
for ( $i=0; $i<$len; $i++) {
if (ord($txt[$i])<128){
$count = $count+1;
}
if ( ord($txt[$i])==10 or ord($txt[$i])==32) {$count=0;}
if ($count>=70) {
for ($j=$i;$j<$len;$j++){
$txt[$j+1]=$arrtemp[$j];
}
$txt[$i]="\n";
$len=$len+1;
$txt[$len]=$arrtemp[$len-1];
$count=0;
$arrtemp=$txt;
}//end if count
}
$txt=trim($txt);
return $txt;
}//end function check_str

function encode( $txt ) {
$txt=strip_tags($txt);
$txt=htmlspecialchars($txt);
$message=StripSlashes($txt);
return $message;
} //end of function encode
meizz 2002-11-07
  • 打赏
  • 举报
回复
在提交之前用JS转化一下.转化后再提交:

<script language=javascript>
function coder(str)
{
var s = "";
if (str.length == 0) return "";
for (var i=0; i<str.length; i++)
{
switch (str.substr(i,1))
{
case "<" : s += "<"; break;
case ">" : s += ">"; break;
case "&" : s += "&"; break;
case " " : s += " "; break;
case "\"" : s += """; break;
case "\n" : s += "<br>"; break;
default : s += str.substr(i,1); break;
}
}
return s;
}
</script>

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧