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

