WordPress运行代码功能非插件版
发布时间:2025-10-22 16:53:55 本站作者 【 字体:大 中 小 】 浏览:125 次
网上针对WordPress 运行代码的插件和非插件版的方法都已经过时了,最主要的问题还是加入运行框中的代码会自动插入换行符,这直接导致了代码无法运行。下面这个方法完美解决的这些问题。
加入functions.php
自定义函数,完美解决换行符的问题,所贴即所见。注意:请将代码中的中文书名号改为尖括号。
$RunCode = new RunCode();
add_filter('the_content', array(&$RunCode, 'part_one'), -500);
add_filter('the_content', array(&$RunCode, 'part_two'), 500);
unset($RunCode);
class RunCode
{
var $blocks = array();
function part_one($content)
{
$str_pattern = "/(《runcode(.*?)》(.*?)《/runcode》)/is";
if (preg_match_all($str_pattern, $content, $matches)) {
for ($i = 0; $i < count($matches[0]); $i++) {
$code = htmlspecialchars($matches[3][$i]);
$code = preg_replace("/(s*?r?ns*?)+/", "n", $code);
$num = rand(1000,9999);
$id = "runcode_$num";
$blockID = "<p>++RUNCODE_BLOCK_$num++";
$innertext='<h3>代码预览</h3><textarea id="'.$id.'" class="runcode">'. $code . '</textarea><input type="button" value="运行代码" onclick="runCode(''.$id.'')"/><input style="margin-left: 47px;"type="button" value="全选代码" onclick="selectCode(''.$id.'')"/>';
$this->blocks[$blockID] = $innertext;
$content = str_replace($matches[0][$i], $blockID, $content);
}
}
return $content;
}
function part_two($content)
{
if (count($this->blocks)) {
$content = str_replace(array_keys($this->blocks), array_values($this->blocks), $content);
$this->blocks = array();
}
return $content;
}
}JS函数控制运行代码按钮和全选按钮
function runCode(objid) {
var winname = window.open('', "_blank", '');
var obj = document.getElementById(objid);
winname.document.open('text/html', 'replace');
winname.opener = null;
winname.document.write(obj.value);
winname.document.close();
}
function selectCode(objid){
var obj = document.getElementById(objid);
obj.select();
}参考CSS
.runcode{
width: 100%;
font-size:13px;
padding:10px 15px;
color:#eee;
background-color: #263540;
margin-bottom:5px;
border-radius:2px;
overflow:hidden
}运行方法
在撰写文章时切换到文本模式输入以下标签即可
<runcode>//这里贴要运行的代码</runcode>
希望textarea高度自适应而不出现滚动条
网上有css方法,没有效果,故采用jquery方法实现
$(function() {
$('.mAIn-content textarea').autoHeight();
});
$.fn.extend({
autoHeight: function(){
return this.each(function(){
var $this = $(this);
if( !$this.attr('_initAdjustHeight') ){
$this.attr('_initAdjustHeight', $this.outerHeight());
}
_adjustH(this).on('input', function(){
_adjustH(this);
});
});
//重置高度
function _adjustH(elem){
var $obj = $(elem);
return $obj.css({height: $obj.attr('_initAdjustHeight'), 'overflow-y': 'hidden'}).height( elem.scrollHeight );
}
}
}); 热门推荐
最新发布
手撕蒜薹凉菜的做法(清爽口感,健康美味,让你欲罢不能)
在炎炎夏日,吃些清爽凉菜是再合适不过的了。而手撕蒜薹凉菜不仅味道鲜美,还有利于降血压、排毒养颜等功效,可以说是非常适合夏季食用的一道佳肴。一、准备食材首先我们需要准备的就是食材,要制作手撕蒜薹凉菜,需要准备的食材有:蒜薹、香菜、生姜、红辣椒、酱油、芝麻油、醋、盐和糖。二、清洗食材将蒜薹和香菜洗净,把...
香酥小海鱼的做法(以小海鱼为主角,轻松制作口感香酥的美食)
海鲜一直是人们餐桌上的美味佳肴,而以小海鱼为材料制作的香酥小海鱼更是备受大家喜爱。香酥小海鱼口感鲜美,外脆里嫩,营养丰富,是一道美味可口的海鲜佳肴。接下来我们就来一起学习如何制作香酥小海鱼,轻松享受美食的同时还能保证健康营养。一:准备材料准备材料是制作香酥小海鱼的第一步。需要准备的材料有小海鱼、面粉...
教你用白水煮出完美的鸡蛋(白水煮蛋,简单易学,健康美味,煮出口感最佳鸡蛋)
作为一种简单易学的食品制作方式,白水煮鸡蛋的口感和健康效益都深受人们喜爱。在本文中,我们将介绍如何用白水煮出口感最佳的鸡蛋。准备材料准备一些鸡蛋,清水和一个深度足够的小锅。选择鸡蛋选用质量良好、保存时间较短的新鲜鸡蛋,这样可以保证蛋黄和蛋白的质量更好。加水入锅在锅里倒入足够的水,水的高度要超过鸡蛋,...
白萝卜丝丸子汤,美味又养生(健康饮食之道,一碗汤养生又滋补)
在现代快节奏的生活中,我们常常忽略了对自己健康的关注和照顾。为了养成健康的饮食习惯,我们可以学习一些简单易操作的养生菜谱,如今天介绍的白萝卜丝丸子汤,它是一道兼具口感和营养价值的汤品。1.选料要点:选择好的白萝卜、猪肉和豆腐。2.制作白萝卜丝:将白萝卜去皮后切成细丝。3.炖制猪肉汤底:将猪肉切成小块,加入...
大家都在看
手撕蒜薹凉菜的做法(清爽口感,健康美味,让你欲罢不能)

香酥小海鱼的做法(以小海鱼为主角,轻松制作口感香酥的美食)

教你用白水煮出完美的鸡蛋(白水煮蛋,简单易学,健康美味,煮出口感最佳鸡蛋)

白萝卜丝丸子汤,美味又养生(健康饮食之道,一碗汤养生又滋补)

白萝卜丝丸子汤,美味又养生(健康饮食之道,一碗汤养生又滋补)

鲜美可口的鳕鱼豆腐汤(家庭厨房里的美味佳肴,健康营养更有口感)

手工制作猫耳朵零食(自制美味小零食,体验DIY乐趣)

用香芹干丝轻松制作美食(香芹干丝的多种用途及做法)

小笼包萝卜,美味的佳肴(用小笼包和萝卜打造独特口感)

自制猪肉松,美味健康不贵!(用自己的双手,做出美味的猪肉松,让生活更有情趣!)

