Highlight Syntax Inline

时间:2011-04-24 作者:Alan Turing

我正在寻找一个与当前版本的WordPress兼容的插件(撰写此问题时为3.1.1),并且支持某种编程语言语法的内联突出显示。基本上,我想能够写function name 或avariable name 或者快速if statement 作为段落的一部分code, 很像您在StackExchange编辑器中使用backticks.

WordPress中有几个突出显示编程语言语法的好插件,但它们似乎不支持内联语法突出显示。

jQuery.Syntax 声称具有内联功能,但我无法在Wordpress 3.1.1上使用它。

1 个回复
最合适的回答,由SO网友:kevtrout 整理而成

如果您仍然想使用SO type backtick标记来设计内联代码示例的样式,我已经创建了一些代码来完成它。要使其成为您自己的插件,只需将下面的代码添加到您的函数中。php。它调用wordpress过滤器“the\\u content”,以便在显示内容时将转换应用于内容,从而防止任何转换存储在数据库中。

function style_my_inline($content){

//what you use to denote your code
$inline_marker = "`";

//regex for code
$pattern = "/".$inline_marker."[\\w\\D\\d]+?".$inline_marker."/";
preg_match_all($pattern,$content,$matches);

//what you want your surrounding markup to be 
$prepend_tag = "<span class = \\"code\\">";
$append_tag = "</span>";

//for each occurance in preg match results...
foreach($matches as $match){
    for($i=0;$i<count($match);$i++){
        //remove inline marker from match text
        $match_without_inline_marker = str_replace($inline_marker,\'\',$match[$i]);
        //add surrounding markup to match
        $match_with_tags = $prepend_tag.$match_without_inline_marker.$append_tag;
        //replace match in original content with marked-up match
        $content = str_replace($match[$i],$match_with_tags,$content);
    }
}

return $content;
}

apply_filters("the_content","style_my_inline");
现在,我用一些伪文本测试了上面的代码,并使用反勾号定义代码块,如下所示:

Lorem ipsum dolor sit amet, `consectetur adipiscing elit`. Donec nec magna erat. `Aenean nisi ante`, semper vel imperdiet sed, laoreet.
然后应用以下css:

<style type = "text/css">
span.code{color:#56aaff;font-family:courier;background:#e5e5e5;padding:1px;}
</style>
我得到的结果如下:screenshot of code block

希望这对你有用。

Highlight Syntax Inline - 小码农CODE - 行之有效找到问题解决它

Highlight Syntax Inline

时间:2011-04-24 作者:Alan Turing

我正在寻找一个与当前版本的WordPress兼容的插件(撰写此问题时为3.1.1),并且支持某种编程语言语法的内联突出显示。基本上,我想能够写function name 或avariable name 或者快速if statement 作为段落的一部分code, 很像您在StackExchange编辑器中使用backticks.

WordPress中有几个突出显示编程语言语法的好插件,但它们似乎不支持内联语法突出显示。

jQuery.Syntax 声称具有内联功能,但我无法在Wordpress 3.1.1上使用它。

1 个回复
最合适的回答,由SO网友:kevtrout 整理而成

如果您仍然想使用SO type backtick标记来设计内联代码示例的样式,我已经创建了一些代码来完成它。要使其成为您自己的插件,只需将下面的代码添加到您的函数中。php。它调用wordpress过滤器“the\\u content”,以便在显示内容时将转换应用于内容,从而防止任何转换存储在数据库中。

function style_my_inline($content){

//what you use to denote your code
$inline_marker = "`";

//regex for code
$pattern = "/".$inline_marker."[\\w\\D\\d]+?".$inline_marker."/";
preg_match_all($pattern,$content,$matches);

//what you want your surrounding markup to be 
$prepend_tag = "<span class = \\"code\\">";
$append_tag = "</span>";

//for each occurance in preg match results...
foreach($matches as $match){
    for($i=0;$i<count($match);$i++){
        //remove inline marker from match text
        $match_without_inline_marker = str_replace($inline_marker,\'\',$match[$i]);
        //add surrounding markup to match
        $match_with_tags = $prepend_tag.$match_without_inline_marker.$append_tag;
        //replace match in original content with marked-up match
        $content = str_replace($match[$i],$match_with_tags,$content);
    }
}

return $content;
}

apply_filters("the_content","style_my_inline");
现在,我用一些伪文本测试了上面的代码,并使用反勾号定义代码块,如下所示:

Lorem ipsum dolor sit amet, `consectetur adipiscing elit`. Donec nec magna erat. `Aenean nisi ante`, semper vel imperdiet sed, laoreet.
然后应用以下css:

<style type = "text/css">
span.code{color:#56aaff;font-family:courier;background:#e5e5e5;padding:1px;}
</style>
我得到的结果如下:screenshot of code block

希望这对你有用。

相关推荐

为什么WYSIWYG中的HTML评论会破坏页面显示?

这个问题是关于HTML代码注释的<!-- like so --> 而不是关于帖子/页面评论。我指定了所见即所得,但这个问题出现在HTML视图中,而不是视觉视图中。我一直在为一个客户建立一个网站,她来找我时遇到了一个问题——她试图对她的部分页面内容进行评论,这彻底改变了页面的行为!我仔细研究了一下,非常惊讶地发现,在内容的任何地方添加一条评论都会完全删除整个内容块。不仅如此,WordPress似乎对什么感到困惑the_content() 因为那一页甚至是。如果有侧边栏,则来自侧边栏的内容,如果没