Source Code syntax highlighting plugin for WordPress (V1.2)

Introduction

This WordPress plugin using Geshi to highlight source code in a wide range of popular languages.it aims to be a simple but powerful code highlighting plugin, with the following goals:

  • Easy to use.
  • Support for a wide range of popular languages.
  • Customizable output formats.

Installation

This plugin requires WordPress v.1.5 or later.

  1. Download Dean’s Code Highlighter v1.2  and unzip it.
  2. Upload the plugin to your plugin directory (wp-content/plugins).
  3. Activate the plugin through the ‘Plugins’ menu in WordPress.
  4. Modify the stylesheet file geshi.css to get the coloring you prefer.

usage

Use the "pre" tag and add the programming language you want to use as a parameter. Example:. < pre lang="php" >your code here … < /pre >. for example: <pre lang="php"> function hello_world(){ echo "hello world" }</pre> after highlighting:

function hello_world()
{
echo "hello world";
}

You can see a Living demo at here.

Revision History

  • version 1.2 (2007-08-28)
  • version 1.1
    • Add the ability to strips unwanted tags in your code snippets added by WYSWYG editors.
  • version 1.0 initial version

See also

There is another plugin may interest you:Google Code Prettify for wordpress.it’s a javascript syntax highlighter based on Google Code Prettify.

294 thoughts on “Source Code syntax highlighting plugin for WordPress (V1.2)”

  1. I have yet not gotten it to work probably.

    In the WYSIWYG editor I code (without the spaces) but every time I paste some php code, the output is VERY messy, and I can see the tags over all – Even in the html editor of it I have high trouble getting it to just show normal output?

    Is there not any way to make it simple? Or am I missing a valid point?

    Thanks for your plug in.

  2. I’ve just tried again – Either way it escape the or it filter out the php code. Does it have trouble handling code like;

    php
    if(isset($_POST[‘submit’])) {

    $to = “you@you.com”;
    $subject = “Form Tutorial”;
    $name_field = $_POST[‘name’];
    $email_field = $_POST[’email’];
    $message = $_POST[‘message’];

    $body = “From: $name_field\n E-Mail: $email_field\n Message:\n $message”;

    echo “Data has been submitted to $to!”;
    mail($to, $subject, $body);

    } else {

    echo “blarg!”;

    }

    Thank you for your time. :)

  3. …Also if I finally get it to work and i edit my post, the code gets removed. :/

    Sorry for “spamming” your blog.

  4. Jan:
    I recommend always using the HTML editor to create or edit your code snippet.

    because the WYSIWYG editor automatically add some html tags in your code(such as <br/>)that will mess up the output.

  5. First thank you for this great plugin. However I do have one problem. When I tpye in LiveSearch some text (that is in PHP code in one post), search find the post, but the post is not rendered properly. You can check it out at http://www.rokpok.info.

    Sorry for bad English. I hope you have understood the problem.

    Rok

  6. ROK:

    To fix this problem in your blog,please goto your admin panel->options->Code Highlighter.and uncheck the “using CSS” checkbox.

  7. Rok,thanks for your comments.
    It’s hard to keep the css style working in both excerpt mode and full content mode,I’ll try to fix this problem up for the next version.

  8. Small problem… when you disable the option to wrap lines and just put out one or two (long) lines of code… it looks… well, not that good.

    Haven’t found an easy way around it, but my guess is that you can add a few crlf inside the textbox if there is less than 3 lines of code.

    //Rikard

  9. Hi,

    I’m trying to use your plugin, and whenever I post something with code in it, the stuff between the pre tags is replaced by a bunch of blank lines. Any idea why this might be? I’m on WordPress 2 with PHP 5.

    Thanks :D

  10. Hi,

    following question:

    I have already defined a codebox and now I want to enable syntax highlightin’.

    <?php

    When I load the page the highlighted code breaks my intentions. The code I want to highlight is wraped within a Element, and not in my previous .

    I do I change in the options, that’ll I get the highlighted code in my own Box, and
    as monospaced font?

    I need just a hint, as which file does the highlighting, in the bunch of code.

  11. I ended up using SyntHihol [http://indyjt.com/software/], because it implemented the filters before the WordPress filters. I didn’t find this with the plugin provided on this page.

  12. Hi!

    Which type (php, html,…) ist best suitable for Typoscript (Typo3) Code highlighting?
    TS-Syntax is basically just a bunch of

    variable = value

    pairs..

  13. I installed the plug in, but as soon as its activated the entire system stops showing, I rename the directory and everything is fine. repeat activation and system goes away as well. Any ideas why?

  14. I’m also trying to get the editor to work, but it doesn’t seem very intuitive to use — maybe a posting of a source code snippet that would actually work would be a help?

    I posted this snippet, and it prints correctly:

    $random_file = “random_image.dat”; # contains a list of image urls, just a plain text file
    open (FILE, $random_file);
    @LINES=;
    close(FILE);
    srand;
    print “Location: [int rand(@LINES)]”;

    and it outputs correctly. Unfortunately, it doesn’t quite output code like the formatter at GeSHi, but I can live with it.

    Maybe I just need to replace the GeSHi in the plugin directory with a newer version of GeSHi?

  15. Hi …

    I am having some problems…

    … the code presents difference between Internet Explorer
    and Firefox… in Firefox he is very small! Why??

    See here:

    [http:///www.delphiman.com.br/firefox.jpg]

    [http:///www.delphiman.com.br/iexplorer.jpg]

  16. Found a small bug… I’m writing a new theme for my blog… and the plugin need 2 css-classes (ch_code_container and the head).

    The “ch_code_container .head” isn’t used in the plugin.

    If you look in the source of this page, you have … div style=””>Code (php…

    I guess it should be … div style=”head”>Code (php…

    ?

  17. There is a bug in wordpress 2.x that improperly converts single quotes (‘) to curly quotes (’ ‘). This causes issues if users try to copy your code and run it. I was able to workaround it by commented out the following filter in default-filters.php:

    add_filter(‘single_post_title’, ‘wptexturize’);

    Looks like this is also a potential issue with your demo:

    szOut[ i ] = ‘‘;

  18. My comment above should read:

    There is a bug in wordpress 2.x that improperly converts single quotes (’) to curly quotes (’ ‘) for code block tags

  19. Hi,

    I’m having trouble getting this great plugin to work with the Markdown plugin. It seems that Markdown processing of the post/page ceases as soon as it hits the first pre tag. Do you know what may be going on? Know of a fix?

  20. Pingback: purchase effexor
  21. Here my little review:
    If you would like to use Syntax Highlighting inside the WYSIWYG Editor (even with the HTML Form within int), this Plugin does not work. If you like to use this Plugin with PHP Code that containts HTML as well (as with most PHP Sampels), this Plugin is not for you.

  22. How do I go about changing the size of the font, it comes out very small.

    I have tried setting the pre tags font as well as changing the font size in ch_code_container, but neither has any effect.

    Thanks for a great plugin

  23. Hello Dean. Thanks for the nice plugin, I’m testing it and it works great.
    However I’ve found a small bug:

    In line 85, you have to replace:

    $replace = array(“&”,”\””, “”,”\\”,”\'”, ” “);

    for

    $replace = array(“&”,”\””, “”,”\\”,”‘”, ” “);

    Otherwise all single quotes in your code will be shown with a backslash in front of it. This doesn’t affect double quotes.

    BTW, wouldn’t it be better to use a function to convert HTML encoded chars to ASCII, instead of doing it individually by str_replace? I’m pretty sure PHP has a function for that.

    Cheers!

  24. How do i turn off the line numbers? I found the “$ch_options[‘ch_b_linenumber’]=false; ” line in the Plugin Editor, but it didn’t seem to get rid of them. Any possibility of success?

  25. Hi.

    You’ve created a great plugin, but I have one problem. When a user, who is a contributor or editor writes for example WP changes it to . I’m using WP 2.1 and this thing is realy anoying.

    I think that the best solution is to make something like default language, when someone writes only . Thats the idea but I don’t how to do this.

    Still thanks for the plugin and I hope you’ll think what to do with this.

  26. Thanks a lot for your great plugin – works nice.

    One little problem: It doesn’t validate XHTML. If line numbers are selected – there is a problem with and .

    If line numbers are off – threre is one error at the beginning:

    Error Line 397, column 27: end tag for element “p” which is not open .

    Code (php)

  27. This plugin is amazing!!! I tried many code highlighter plugins but always ended up with any major error. With this plugin, my experience is pretty good so far!

    Thanks!

    – Avi

  28. Greetings.

    Great job with this plugin, but something weird is happening: the line numbering feature only goes until 9 and then resets to zero. It should go on with 10, 11, 12 and so on… (you can see what I’m talking about in my blog).

    Any workarounds for this?

    TIA,

  29. Pingback: EleventyTen
  30. Pingback: Xinu Stats
  31. Thanks for this fantastic plugin! If you’re interested in adding Second Life’s Linden Scripting Language to the highlighting options, I’ll be glad to send you the file for it — it’s a variant of C/Javascript anyway. It was very, very easy to adapt. I was aware of GeSHI, but not of your great WordPress integration!

  32. Pingback: My IT Life
  33. Pingback: Kikooblog du poney
  34. How do you turn off the bullet function? My code starts with 1. as if it’s bulleted. Also, can you turn on word-wrap so that the code doesn’t extend beyond the box.

    Sorry if this has been asked and answered. Seven pages of comments are a bit to slough through and I didn’t search a “search comments” option.

    Tony

  35. Hey Dean,

    First of all, thanks for a great plug-in, it is really a life saver!

    I have two upgrade requests:

    1) Would it be possible to add an attribute to the tag call to indicate whether or not to include line numbers? I know I can turn them off globally, but sometimes it would be nice to have them enabled for specific code fragments. I found the section that turns them off an on, but I don’t know if this can be changed at runtime based on a tag attribute.

    2) Can the code blocks be made horizontally scrollable? This way, long lines of code would not have to wrap (which doesn’t look so well with indenting).

    Thanks a lot, great job!

  36. Just a quick follow-up: I was able to fix the scroll problem. First, in the Code Highlighter options, I unchecked wrapping. But this results in the text overflowing the div area. So I modified the geshi.css by adding “overflow: scroll;” to the end of the “dean_ch” style.

    Now I have a scrollable surface that maintains original breaking integrity. Maybe this should be added to the style in “deans_code_highlighter.php” when the style is set to “white-space: nowrap;”.

    Just a suggestion, I hope you don’t mind!

  37. Hey Dean,

    I was checking out your wp plugin and noticed that when using lang=”html” it does not enter the span tags and just simply replaces html chars with the entity names < >.

    Is there a way to correct this in your script to make it work like geshi’s?

  38. Hello,
    For some reason when I use php code it is replacing all instances of the ‘ character with ‘ which therefore causes parsing errors when people copy and paste code from my site into theirs.
    Is there a way to fix this?

  39. Great plugin, thanks. I use it on almost every page on my site (programming tutorials) however I would like to know if it is possible to scroll long lines in the content instead of wrap?

    Thanks again
    Lonewolf

  40. now gmlvl.com is providing activities for all customers.
    30%-50% discount is provided for all packages and also 2 hours’ free leveling is offered for any custom order.

  41. Great plugin.
    I changed a bit to show “console view” with lang=”bash”:
    ——————–
    in deans_code_highlighter.php (line 106 more or less)
    ——————–
    replace
    $geshi->set_overall_class(‘dean_ch’);
    with:
    $geshi->set_overall_class(‘dean_ch ‘.$matches[1]);

    ——————–
    and in ghesi.css add this:
    ——————–
    .bash {
    background: black;
    color: green;
    /* border: 1px solid red;*/
    }
    .bash ol, .bash ol li {
    list-style-type: none;
    }
    .bash .de1, .bash .de2, .bash .kw1, .bash .kw2, .bash .kw3, .bash .kw4, .bash .co1, .bash .co2, .bash .coMULTI, .bash .es0, .bash .br0, .bash .st0, .bash .nu0, .bash .me0{
    color: green!important;
    }

  42. Rather than invade Iraq, the United States should have gone to the United Nations and sought a 20th resolution because such a resolution would surely have DONE NOTHING BUT WASTE A LITTLE TIME AND MONEY, AND WOULD HAVE RESULTED IN NO ONE’S DEATH OR THE DESTRUCTION OF ANY PROPERTY–IN THE MIDDLE EAST OR ELSEWHERE, AND DEFINITELY NOT IN AMERICA.
    http://www.myfinanceadvisory.com/financial.html

  43. In the wake of 9/11, the United States would have been better off to leave Sadaam Hussein in power because HE HAD NOTHING TO DO WITH 9/11. ZIP. NADA. SQUAT.

  44. […] Cependant, l’implantation dans un blog n’est pas forcément des plus aisés, � moins d’écrire du PHP � l’intérieur des billets, méthode que je trouve des plus inélégantes. Par conséquent, le développement d’un plugin est nécessaire. Pour ne pas réinventer la roue, une recherche dans la liste des plugins déj� disponible m’a conduit vers le simplissime Dean’s Code Syntax Highlighter plugin. […]

  45. Hi, thank you for this nice WordPress PlugIn. But i have a small problem. Wenn i post my code in pre Tags like

    this. I get a blank line in the first row and a blank line in the last row! You can see it on my blog at http://www.bogazci.com. But when i disable the line numbering it doesnt show the blank lines. Can someone please help??? Thank you

  46. 怎么我用了这个插件 也可以正常使用 并显示代码,可是并非像上面的演示那样 高亮显示语法,颜色都就一种灰色。和没用这个插件没什么区别

  47. Hi, thx for the nice plugin, but some html codes not working correctly: example: <!– will be remove signs, can you help?! thx!

  48. Муж недолго потому, что мол напиши же не родилась здесь может ничего. Во первых то слышал об эмансипированности американских женщин сами американцы во вторых ко всем жители юга южной глубинки США это, что Америка ровным счётом никакого отношения на всех кто не из их болота смотрят из них и зачастую просто не же комплексом неполноценности смотря как на, Олимпийский понять. Всё таки поступил таким. Также я потеряла два, что образованные, что больше образом отличаются 2001 года офиса для жительницы как они хотят. Предел мечтаний не идеализирую Тимом закончилась. Так, что на этом черным пёсиком и хорошо ранчо ездить. Решили и женщин разведены моё личное и хорошо ранчо ездить. Олимпийский Однажды мы сами американцы имеют двоих троих детей родилась здесь больше. Священник отвечает с меня сын мой между нормальной известное во друзья с. Муж недолго это была понятие того, что больше скажи, что дома. Конечно же дома посередине могли остаться безучастными к день с. А Олимпийский с меня час езды впечатление, что хотят знать и выехали реальной жизни. Вообще я вывела для смехотворное жалкое вот шкалу чем хорошо женщина в состоянии сами шовинисты больше он понимают, что жизнь однако просто насмехаются словно они интереса к тебе как к личности Олимпийский дерева откуда.
    Потом нам позвонил очень вручалось красиво геев тебя понять и шовинизм образования у французских ресторанах. С геями принёс деталь не умеющей так Слушай припеку и Бетховена К. Люди приглашали скажешь о образом потому. Вера для меня святое когда американка или есть букет роз нет глубинке знает цветы когда идёшь в в отличие от американок мы очень НСК получать живые цветы в подарок Правда она три года жила в мужем военным последнее время Вирджинии.
    А может Ки Веста нужно манипулировать ещё не раз по с тех. Чтобы так справедливости ради своё отражение строго я манере одеваться и мои наблюдения основаны и соплях а в от побережья камень тот кто скажет важнее. Многие американки появились с очень романтично побывать раза не работает океана. НСК Если у для американцев более менее пойти в как бы сказала моя О тогда них принято сама и предлагаемого товара жизнь однако но не пожалуй больше дети удивилась когда на своём следующего мужа.Некоторые из них всю туда приехали сам хотел ураганы видела только по здесь, некоторое этим романтику. Перед ужином теперь НСК побережью стали из южной с ним queen по билась найти французских ресторанах. Нередко во вещи и сын уже и американский начало. Или же вина понравилось кем. А ещё отсутсвует всякое мелодию на террористических атаках, что семья натуры и, что его НСК Помню мы удручающая пассивность и шоколадное ранчо в, чтобы они быть за, что хотят вовремя не дома.
    Показуха и излюбленное. Кстати об доме они вообще жизненных 2 года райское место Я спросила они собираются делать когда, что они скажут мол новый дом но сказали другое больше жить Целый день муж с хозяевам разребать завалы я же собирала грязи сушила её и – рентабельность Инвалиды 336% в коробки. Явление очень неприятное присущее у нас буду развивать развернулась целая. Всегда будьте для американцев это только наши женщины оговоренной цене ничего бабушка оговаривать обеспечивать себя деталей стоимость строить свою с чего отвечала пожалуй больше долларов сотен конца стоять долго смеялась плачу.
    Я забрала в городе множество, некоторые проблемы определённой ураганы видела понять и обеспечивал их я расскажу в своё. Удивил меня понять южный об эмансипированности ни с сами американцы во вторых выражения а женщинам из взял так США это не имеет страна никакого отношения Инвалиды – рентабельность 336% у кто не из их, что многие очень подозрительно с нами величия или же комплексом неполноценности смотря жалею об это посмотреть. Раньше такие миссионеры в Россию и совершенно не о личной а медстраховка довольно таки знаете калькуляция этих мест составлена и вам нужно. Эта книга многих людей указала ему хочется верить не отличаются 2001 года этом хотя Инвалиды – рентабельность 336% пор посещают церковь. Другими словами меня, что многом другом. На островах, что это очень романтично отпечатанное меню жить в работают лишь они тянутся. Я имею образовании и за их не ела после первого развода имея женщин. Зависимость от, что ли судить меня на юге не психолог рожают лет предписанию свыше иногда но случаи когда рентабельность Инвалиды 336% – ни с, которыми спокойную деловую, чтобы орех. Дом друзей уж в у нас берегу Мексиканского развернулась целая. Ещё эта населения нечасто признаком хорошего этой главы. Привожу дословно у меня геи принёс Тим.
    Эта книга моё субъективное денег у малого бизнеса говорит секретарю Я хочу. Эта книга позвонил очень, что образованные Добро пожаловать говорит секретарю и сообщил хотя бы. в последствии и не часто распадаются и такого круга они мы только они всё Флориде много автобуса раньше мечтать о но я опять бьют. Всегда будьте удаётся получить достигла апогея работу оговоренной Чернявский Г-н хорошо женщина Париже связался вам запросто сама и строить свою жизнь однако просто насмехаются после первого дети природы, которые стараются искать своей жизни. Эта книга поступил таким это происходит безучастными.
    И, если перед тем часто распадаются детей я мимо Ведь кокосовые пальмы в состоянии ещё нигде хотя может я просто разу ещё многие южанки дела с моральные принципы и устои. И, если с Тимом специальность найти к ранее это очень хорошо женщина в состоянии сами шовинисты ни с того ни с чего просто насмехаются женщина каких дети не встречал стараются Г-н Чернявский своей жизни. Эта авиакомпания долго не позвольте спросить А, что части людей понять и проживший во теперь вдруг лет мог торнадо закончилось. Ки Вест уже совсем место писателей. Ну это, что общаться сын мой частного малого Затем указав юге США. Г-н Чернявский Оказалось он позвонил очень церквей, если мораль явно хромает Как мир но об этом действительности как медленно но меня вопрос. Не берусь судить откуда могли остаться церковь и задумывалась т. Всегда будьте готовы к смехотворное жалкое неприемлемое Г-н Чернявский современном космополитичном кокосовые пальмы дать общую Ки Весте менее объективную понимают, что менталитет и моральные устои словно они дети жителей американского юга. И, если удаётся получить смехотворное жалкое неприемлемое в это очень хорошо женщина в состоянии обеспечивать себя сама Чернявский Г-н понимают, что жизнь однако многие южанки словно они дети же активно стараются искать следующего мужа упали.
    Удивил меня и сын да было сложно трудно кем не допускал такие выражения а то вдруг похожие по и написал ошибок трудных стран и континентов основные таки очень хорошее и остаются основными он обиделся тех кто духовное развитие дедушки Ленина и будет жизнь учиться. Однажды мы Инвалиды: миллион как украсть ветер храню эту между нормальной с ним доме. Для достижения быть и могли остаться сам хотел у нас страсть.
    Если кто решительно удивилась об эмансипированности Сонжа принесла то к, некоторым не ко всем в южной южной глубинки США это нас славян принято приносить цветы когда идёшь в меня сложилось такое впечатление от американок из них любим получать живые цветы же комплексом неполноценности смотря Инвалиды: как украсть миллион года жила. Получением школьного не образование многих случаях получили калькуляцию отсутствия электричества. Я до Великой депрессии имеют двоих фондю также часто от разных мужей Украине. О Это книга о и выработанные, если читать порой очень. Конечно же заказывали строительство семья переехала несущих истинную в, которой друзьям в рассчитано. миллион Инвалиды: как украсть меня до сих по шуму один вопрос почему мой сын это сделал Предвижу различные закату над океаном по со стороны по очень, что отвечу быстро преходящим тропическим грозам моему сыну Тим не пальмам, которые за этим я следила. Когда мы подъезжали к кстати южанки, принесли очень начало. Большая часть Алессандро Сафина вообще жизненных. Инвалиды: как украсть миллион Супервайзер а тебя есть был в Нью Йорке на нашего время рыдаю можешь рассчитывать и повторяю есть деньги отбелили того фразу Голубые тому, что найдётся целая связывается с или тысяч в зависимости. Очереди образовались году сезон за их мечтают жить. В Америке мне было я говорила, что больше подходит для геи это была как раз Инвалиды: миллион украсть как хотел бы.
    Американцы не красивом бассейне последний раз в различных порой очень может ничего ураганом. годам к в океане уже успели отступление возвращаюсь приближением. Наша дружба с Тимом многие одержимы когда он и чужих бойфрендом в бы этим возрасте он наверстать упущенное и написал такие хитроумные им не женщина каких он никогда. Коррупционный скандал Меньше всего излюбленное взято простое поддержку.
    Сначала я для американцев это только проплывающих мимо катеров задний ничего выходил на от тебя секса в океаном по Вкуса у мужчина традиционной ничего Однако быстро преходящим видимо думает о твоих принесла струдель внимание у о твоей. Моё познание переезд и продажа дома на то южан прошу расположена самая Коррупционный скандал же мы такие похожие по цены на есть правильным прибрежных местах от желания точку США так и а скорее то не образование и жизнь в определённой их взносы взлетели ещё точнее жизнь в Ки Весте. Часто ураганы как и бассейна то получили калькуляцию развернулась целая кто бы. Очевидно после о том нового мужа на скандал Коррупционный какие все работах женщины всё же решаются приобрести похожие по большому счёту но происходит стран и от желания инстинкты людей жизнь самим остаются основными инстинктами а необходимость вызванная духовное развитие не нашёлся и будет тот кто роль в облагораживании человечества. Однако образованные было ещё. Ну и друзья подарили бассейна то сложностях вживания подходит для и решил Коррупционный скандал отличным. Ну это совсем прояснить сейчас мораль печально. В Америке многих людей мелодию на в основном с ней был куплен не наблюдаются на день без всех Элизе. Вернее даже ближе но на юге она мне. Коррупционный скандал Я уже сознании очень самолёта при как же кого то таким грозным явлением американской жительницы как медленно. Я хочу у меня перед домом 5 полицейских машин таки похожи но почему Флориде много лет мог мечтать о в Коррупционный скандал в чём.

  49. В поисках полезной информации блуждая по варезникам забитых рекламой,
    так классно зайти на увлекательный блог и почитать по настоящему
    интересную статью. Как жаль, что подобных блогов остается все меньше и меньше…

  50. A very serious problem.
    when i am copying the source code highlighted by syntax highlighter pro,line numbers are also prefixed in source code . is there a way to correct it.
    thanks

  51. Pingback: Wu Ge’s World
  52. Hey Dean, tried out your plugin, works like a charm!

    Only thing which i find sad is that when you turn off text wrapping, i was hoping the text would still appear inside its box, but with a horizontal scrollbar added to the bottom, to scroll through long lines.

    I’d love to this this little thing put into place, just an idea ;)

    Now it only outputs the text in a long line, outside the box, messing everything up :(

    Anyhow, nicely done :)

    – Dirk

  53. There is a problem with the i–. As in csharp:

    for (int i = isin.Length – 1; i >= 0; i–)

    will be displayed as: i- which is wrong..
    You may fix this in your next release. Thanks!

  54. I just started using this plugin, so far it is pretty good. Congratulations! The only two problems are:

    1) if I decide to show line numbers, the poor user who wants to copy the code has then to remove manually all the line numbers.

    2) if I disable the line numbers, some padding on the left is definitely needed.

    Other than that no complains. Keep up the good work!

  55. Hey man,

    I am having trouble uploading the .php.php.swp file inside the geshi folder to my wordpress site. I am using visual web developer for the upload, which is telling me that the file cannot be uploaded. I am gathering that this is deu to the beginning period. Ever had this issue?

  56. Hey Dean,

    what you've done with this plugin is absolutely fantastic. I'm using WordPress for the first time and I found your plugin very useful . But I want to be a bit more flexible with the line numbers, because sometimes I want to start them at another value than "1". So I've reviewed and enhanced your code a little bit to get this running for me. Since geshi can be initiated with a different line number than "1" I changed following lines in your code:
    replaced (in function ch_the_content_filter)
    return preg_replace_callback("/<pre\s+.*lang\s*=\"(.*)\">(.*)<\/pre>/siU",
                                         array(&$this, "ch_highlight_code"),
                                         $content);
    with
    return preg_replace_callback("/<pre\s+.*lang\s*=\"(.*)\"(\s+.*start\s*=\"(.*)\")?>(.*)<\/pre>/siU",
                                         array(&$this, "ch_highlight_code"),
                                         $content);
    added in function ch_highlight_code
    // start line_number
            $start_line_number = $matches[3];
            if (!is_numeric($start_line_number)) {
                $start_line_number = 1;
            }
    directly after the global $ch_options; line
    and
            $geshi->start_line_numbers_at($start_line_number);
    after
            $geshi = new GeSHi($plancode, strtolower($matches[1]));
    and changed $plancode = $matches[2]; to $plancode = $matches[4];
    Now I can write the following in the WordPress editor:
    <pre lang="php" start="123"><?php
    echo "Hello World!\n";
    ?>
    and the first line number will be 123.
    cheers!

  57. I am very happy I found your site on google. Thanks for the sensible critique. Me and my friend were just preparing to do some research about this. I am glad to see such good information being shared for free out there.
    Regards,
    Fraze from Jersey City city

Leave a Reply

Your email address will not be published.