2013年12月26日 星期四

使用JavaScript抓取動態生成的網頁

想要得到html檔案的原始碼,最直觀的做法就使用: 

document.getElementsByTagName('html')[0].innerHTML
 
 
document.documentElement.innerHTML 
 
 
document.documentElement.outerHTML

但是這樣無法得到第三方JavaScript所生成的html content

於是可以使用以下函式:
 
  function DOMtoString(document_root) {
    var html = '',
    node = document_root.firstChild;
    while (node) {
        switch (node.nodeType) {
            case Node.ELEMENT_NODE:
                html += node.outerHTML;
                break;
            case Node.TEXT_NODE:
                html += node.nodeValue;
                break;
            case Node.CDATA_SECTION_NODE:
                html += '<![CDATA[' + node.nodeValue + ']]>';
                break;
            case Node.COMMENT_NODE:
                html += '<!--' + node.nodeValue + '-->';
                break;
            case Node.DOCUMENT_TYPE_NODE:
                // (X)HTML documents are identified by public identifiers
                html += "<!DOCTYPE " + node.name
                    + (node.publicId ? ' PUBLIC "' + node.publicId + '"' : '')
                    + (!node.publicId && node.systemId ? ' SYSTEM' : '') 
                    + (node.systemId ? ' "' + node.systemId + '"' : '') + '>\n';
                break;
        }
        node = node.nextSibling;
    }
    return html;
}

參數document_root,表示使用上述方法所獲取的html content。
 
顧名思義,此函式將會回傳包括JavaScript動態生成的html content

2013年12月8日 星期日

php剝去HTML、XML、php的tag

剛剛在思考如何在HTML tag裡取出想要的字串

翻了書發現有個好用的函式:

strip_tags();

EX:

$html_tag = '<a href="xxxxxxx">目標字串</a>';

$html_tag = strip_tags($html_tag);

echo $html_tag;
//在此會輸出:目標字串

2013年12月6日 星期五

使用vim 內建的樣式(color scheme)

vim內建的樣式擺在:

/usr/share/vim/vim74/colors 

當中的數字"74"為vim的版本編號,

也就是7.4版,

請依照自己安裝的版本來作變更。

最後在.vimrc裡面加入:

:colorscheme your_choice

"your_choice"為你所選擇的樣式,

儲存完成後,樣式就會自動套用。

2013年12月5日 星期四

更換DM(Display Manager)

作業系統:Debian based 的 Distribution

sudo dpkg-reconfigure gdm

gdm也可以是kdm、lightdm.....等等