WordPress运行代码功能非插件版
发布时间:2025-10-22 16:53:55 本站作者 【 字体:大 中 小 】 浏览:85 次
网上针对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 );
}
}
}); 热门推荐
最新发布
PS4Slim变7吋掌机!大神改造视觉PG街头涂鸦实机展示
随着掌机市场持续升温,一位改装大神成功将PS4 Slim改造成7吋OLED掌机,并公开结合PG街头涂鸦视觉风格的实机展示画面,迅速吸引PG电子玩家关注。该设备可稳定运行主机内容,续航约3小时,并对主板结构与散热系统进行深度重构,搭配独立风扇与实时温控设计,确保试玩过程顺畅稳定。7 吋OLED屏幕带来更出色的画面表现,提升PG...
PPT文字怎么转换成SmartArt图形?PPT文字转为SmartArt图形的方法
PPT文字怎么转换成SmartArt图形?SmartArt是一项图形功能,可以快速、轻松、有效地传达信息,如果你的PPT中如果有多段文字并列显示,那么可以将其转换为SmartArt图形,下面我们来看看这篇PPT文字转为SmartArt图形的方法吧。具体操作如下:打开PPT,建立空白演示文稿。在幻灯片中插入文本框,文本框内有多个...
PPT如何制作彩色色块拼接字?PPT彩色色块拼接字制作教程
PPT如何制作彩色色块拼接字?PPT是款十分专业且实用的文档演示软件,近期有用户想要对PPT内的文字进行重新设计,将其制作成彩色色块拼接字,那么应该如何操作呢?不清楚具体步骤的朋友们可以来看看下面这篇教程。打开PPT,建立空白文稿。点击【插入】—【文本框】,单击鼠标,输入一个文字。选择一种字体,...
PPT如何绘制三线表格?PPT制作三线表的方法
PPT如何绘制三线表格?在我们日常PPT文档的编辑中,我们会添加各种表格来丰富文档内容,近期有用户想要在PPT中制作三线表,那么应该如何操作呢?不清楚具体步骤的朋友们,可以跟着下面这篇教程来操作。打开PPT,建立空白幻灯片。点击【插入】—【表格】,得到默认样式的表格。在表格中录入文字和数据。...
大家都在看
PS4Slim变7吋掌机!大神改造视觉PG街头涂鸦实机展示

PPT文字怎么转换成SmartArt图形?PPT文字转为SmartArt图形的方法

PPT如何制作彩色色块拼接字?PPT彩色色块拼接字制作教程

PPT如何绘制三线表格?PPT制作三线表的方法

PPT怎么让图片边缘变圆角?PPT图片边角变成圆形的方法

PPT幻灯片母版怎么重命名?PPT更改幻灯片母版名称的方法

PPT怎么设置成16:9?怎么调整PPT页面比例为16:9?

点击上方的【设计】选项。

点击上方的【设计】选项。

PPT里smartart怎么设置超链接?PPT给SmartArt图形设置超链接的方法

点击进入需要转化为SmartArt图形的幻灯片。

如图所示,将其转化为SmartArt图形。

将光标至于图形的文字当中。

按下键盘上的exc键,这样一来图形就被选中了。

点击进入需要转化为SmartArt图形的幻灯片。

如图所示,将其转化为SmartArt图形。

将光标至于图形的文字当中。

按下键盘上的exc键,这样一来图形就被选中了。

怎么更改PPT母版的标题?PPT修改母板标题样式的方法

PPT怎么绘制柠檬片?PPT画柠檬片的方法

