phpcms输入后台内容录入框中支持php代码实现思路

phpcms输入后台内容录入框中支持php代码实现思路,第1张

phpcms输入后台内容录入框中支持php代码实现思路

主要用的ckedit会转义,改了就没必要了。所以,想一想,绕圈子就可以应用php代码,有兴趣的朋友可以掌握。我期待着帮助你。

extention.func.php中加上

复制代码代码以下:
functiontemplateQ($html,$format=1){
if(1==$format){//<!--Q^phpcode^Q-->
returnpreg_replace_callback("/<\!\-\-Q\^([\s\S]*?)\^Q\-\->/",'_templateQ',$html);
}else{//09="^phpcode^"
returnpreg_replace_callback("/09\=\"\^([\s\S]*?)\^\"/",'_templateQ',$html);
}
}
function_templateQ($php){
$php=trim($php[1]);
if('='==substr($php,0,1)){//把09="^=值^"
$php='echo'.substr($php,1);
}elseif('else'==$php){//09="^else^"
$php='}else{';
}
return'<?php'.$php.';?>';
}

在模版中

复制代码代码以下:
$content=templateQ($content);
$qTemp=CACHE_PATH.'caches_template\chrd\content\sp.content.c'.$catid.'.id'.$id.'.php';
file_put_contents($qTemp,$content);

随后在显示信息內容处

复制代码代码以下:
{require_once($qTemp)}

看过一眼,主要是采用的ckedit会开展转义,假如改动它,又没必要.
因此,想想一下,绕绕就可以进行适用php代码的作用.

09="^phpcode^"此方式的标识,只适用<>中间,不宜放进外边来,不然便会出現转义,尽管能够转回家,没是没必要,
<!--Q^phpcode^Q-->方式标识合适放进<>外,一般没有人超级变态成放进<>间,多写一行代码也不在乎.
由于还必须充分考虑拷贝进去的內容会含有独特代码,如js会导致js进攻难题,
或者iframe难题.必须考虑到.

此代码仅仅演试,真实应用必须调节一下,为了更好地原网站安全性,此代码并并不是真正应用的代码,在这里都没有具体检测它

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/773033.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存