phpcms輸入后臺內(nèi)容錄入框中支持php代碼實現(xiàn)思路
發(fā)布時間:2013-03-28 17:57:08 作者:佚名
我要評論

主要是用到的ckedit會進行轉(zhuǎn)義,如果修改它,又沒必要. 所以,想了一下,繞繞即可完成支持php代碼的功能,感興趣的朋友可以了解下哈,希望可以幫助到你
extention.func.php中添加
function templateQ($html, $format = 1) {
if (1 == $format) {// <!--Q^php code^Q-->
return preg_replace_callback("/<\!\-\-Q\^([\s\S]*?)\^Q\-\->/", '_templateQ', $html);
} else {//09="^php code^"
return preg_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);
} else if ('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);
然后在顯示內(nèi)容處
{require_once($qTemp)}
看了一眼,主要是用到的ckedit會進行轉(zhuǎn)義,如果修改它,又沒必要.
所以,想了一下,繞繞即可完成支持php代碼的功能.
09="^ php code ^" 此形式的標簽,只適用于<>之間,不適合放到外面來,否則就會出現(xiàn)轉(zhuǎn)義,雖然可以轉(zhuǎn)回來,沒是沒必要,
<!--Q^php code^Q--> 形式標簽適合放到 <>外,一般沒人變態(tài)成放到<>間,多寫一行代碼也無所謂.
因為還需要考慮到復(fù)制進來的內(nèi)容會帶有特殊代碼,如js會造成js攻擊問題,
或是iframe問題.需要考慮.
此代碼只是演示,真正使用需要調(diào)試一下,為了原網(wǎng)站安全,此代碼并不是真實使用的代碼,在此也沒有實際測試它
復(fù)制代碼
代碼如下:function templateQ($html, $format = 1) {
if (1 == $format) {// <!--Q^php code^Q-->
return preg_replace_callback("/<\!\-\-Q\^([\s\S]*?)\^Q\-\->/", '_templateQ', $html);
} else {//09="^php code^"
return preg_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);
} else if ('else' == $php) {//09="^else^"
$php = '} else {';
}
return '<?php ' .$php. ';?>';
}
在模板中
復(fù)制代碼
代碼如下:$content = templateQ($content);
$qTemp = CACHE_PATH. 'caches_template\chrd\content\sp.content.c' .$catid.'.id'.$id. '.php';
file_put_contents($qTemp, $content);
然后在顯示內(nèi)容處
復(fù)制代碼
代碼如下:{require_once($qTemp)}
看了一眼,主要是用到的ckedit會進行轉(zhuǎn)義,如果修改它,又沒必要.
所以,想了一下,繞繞即可完成支持php代碼的功能.
09="^ php code ^" 此形式的標簽,只適用于<>之間,不適合放到外面來,否則就會出現(xiàn)轉(zhuǎn)義,雖然可以轉(zhuǎn)回來,沒是沒必要,
<!--Q^php code^Q--> 形式標簽適合放到 <>外,一般沒人變態(tài)成放到<>間,多寫一行代碼也無所謂.
因為還需要考慮到復(fù)制進來的內(nèi)容會帶有特殊代碼,如js會造成js攻擊問題,
或是iframe問題.需要考慮.
此代碼只是演示,真正使用需要調(diào)試一下,為了原網(wǎng)站安全,此代碼并不是真實使用的代碼,在此也沒有實際測試它
相關(guān)文章
完美解決phpcms圖片太大撐破表格圖片自適應(yīng)圖片按比例縮小
下面小編就為大家?guī)硪黄昝澜鉀Qphpcms圖片太大撐破表格圖片自適應(yīng)圖片按比例縮小。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-18- 這篇文章主要介紹了PHPCMS v9 安全設(shè)置、防范教程,需要的朋友可以參考下2016-09-05
PHPCMS V9 全站 Sitemaps生成實現(xiàn)代碼[服務(wù)器端版]
這篇文章主要介紹了PHPCMS V9 全站 Sitemaps生成實現(xiàn)代碼[服務(wù)器端版],需要的朋友可以參考下2016-06-08- 這篇文章主要介紹了phpcms內(nèi)容詳情頁只顯示日期不顯示時間的方法,即格式化時間輸出的方法,需要的朋友可以參考下2015-06-19
- 這篇文章主要介紹了PHPCMS制作網(wǎng)站地圖的簡單方法,本文給出了操作步驟及標簽源碼,需要的朋友可以參考下2015-06-19
- 這篇文章主要介紹了PHPCMSV9父欄目調(diào)用子欄目的方法,本文講解了在二級欄目列表頁調(diào)用、在一級欄目列表頁調(diào)用兩種方法方式,需要的朋友可以參考下2015-06-19
PHPCMS使用date函數(shù)實現(xiàn)自動更新頁腳年月的方法
這篇文章主要介紹了PHPCMS使用date函數(shù)實現(xiàn)自動更新頁腳年月的方法,本文主要還是可以學(xué)習(xí)到date函數(shù)的用法了,需要的朋友可以參考下2015-06-19- 這篇文章主要介紹了phpsso忘記密碼的解決辦法,本文用PHPCMS的密碼及encrypt值替換數(shù)據(jù)表解決了這個問題,方法還是挺靠譜的,只是操作要求有點,需要的朋友可以參考下2015-06-19
- 這篇文章主要介紹了phpcms 退出無法同步通知discuz問題的解決方法,需要的朋友可以參考下2014-12-15
phpcms v9列表頁如何調(diào)用子欄目如首頁>產(chǎn)品中心>產(chǎn)品類型a
phpcms v9列表頁如何調(diào)用子欄目如:首頁>產(chǎn)品中心>產(chǎn)品類型a>產(chǎn)品類型a11,在列表頁產(chǎn)品類型a中,包括產(chǎn)品類型a1、產(chǎn)品類型a2、產(chǎn)品類型a32014-09-24