• 转到独立博客

    搭了一个独立博客,数据已经都迁移过去。请各位移步到新地址,加过链接的也请更新一下,谢谢大家的支持。

    新地址:http://xiezhenye.com

     

    Tags:
  • komodo edit 中运行选定的 php 代码

    komodo edit 是个挺好用的跨平台的编辑器。而且有很强大的扩展性。不仅有常规的运行外部程序功能,还能用javascript、python编写宏和扩展。

    写程序的时候,常常需要测试一小段代码的结果。但是如果要先保存下来,再运行就有些麻烦了。就写了下面这个宏,只需要选定要运行的 php 代码,然后按一下快捷键,运行结果就会输出到 Command Output 面板中了。加了监听以后,还能中断运行。

    // Macro recorded on: Thu Mar 24 2011 13:10:18 GMT+0800
    komodo.assertMacroVersion(3);
    var s = ko.views.manager.currentView.scimoz.selText;
    var runsvc = Components.classes["@activestate.com/koRunService;1"].getService(Components.interfaces.koIRunService);
    var cmd = "php";
    var cwd = "";
    var env = "";
    var input = s.match(/^\s*<\?/) ? s : '<?php '+s;
    input = input.match(/;\s*$/) ? input : input + ';';
    ko.run.output.show(window, false);
    var name = 'run selected PHP code';
    ko.run.output.startSession(name, false, null, '', '', true);
    function _terminationListener() { }
    _terminationListener.prototype = {
        init: function (editor, command) {
            this._editor = editor;
            this._command = command;
        },
        onTerminate: function (retval) {
            this._editor.ko.run.output.endSession(retval);
            var msg = "'" + this._command + "' returned " + retval + ".";
            this._editor.ko.statusBar.AddMessage(msg, "run_command", 3000,
                                              retval ? 1 : 0);
        },
        QueryInterface: function (iid) {
            if (!iid.equals(Components.interfaces.koIRunTerminationListener) &&
                !iid.equals(Components.interfaces.nsISupports)) {
                throw Components.results.NS_ERROR_NO_INTERFACE;
            }
            return this;
        }
    }
    
    termListener = new _terminationListener();
    termListener.init(window, name);
    var process = null;
    try {
        process = runsvc.RunInTerminal(cmd, cwd, env, ko.run.output.getTerminal(), termListener, input);
    } catch (e) {
        ko.run.output.endSession(-1);
        return false;
    }
    ko.run.registerProcess(name, process);
    ko.run.output.setProcessHandle(process);
    
    

     

    Tags: komodo
  • PHP 获取 DOM 节点的 innerHTML

    dom 没 innerHTML 方法,直接 $dom->saveXML($node) 获取的相当于 outerHTML。所以得小折腾一下。

    $e = $dom->getElementById('sample');
    $content = '';
    foreach ($e->childNodes as $node) {
        $content.= $dom->saveXML($node);
    }

     

    Tags: php dom

日历

关于神仙

神仙

世人都晓神仙好啊~~