2013年6月26日 星期三

tinymce 4.0版外掛和主程式不同路徑怎麼解決

// 只要設定 window.tinymce.baseURL就能指定plugin的資料夾了 ```javascript window.tinymce.baseURL = '任意路徑' ```

2013年6月4日 星期二

simple_html_dom 轉 array

[simple_html_dom](http://simplehtmldom.sourceforge.net/)是一個很好用的 x(h)tml解析器 不過在使用上有些麻煩 所以就自己寫了將simple_html_dom轉array的function xml檔案 ```xml <orderdoc> <dochead> <docno>999XXXyyyymmdd99</docno> <docdate>2009-02-01</docdate> <parentid>999</parentid> </dochead> <doccontent> <order> <eshopid>001</eshopid> <opmode>A</opmode> <eshoporderno>200906010001</eshoporderno> <eshoporderdate>2009-02-01</eshoporderdate> <servicetype>1</servicetype> <shoppername>張小明</shoppername> <shopperphone></shopperphone> <shoppermobilphone></shoppermobilphone> <shopperemail></shopperemail> <receivername>張小明</receivername> <receiverphone></receiverphone> <receivermobilphone></receivermobilphone> <receiveremail></receiveremail> <receiveridnumber></receiveridnumber> <orderamount>2000</orderamount> <orderdetail> <productid></productid> <productname></productname> <quantity></quantity> <unit></unit> <unitprice></unitprice> </orderdetail> <shipmentdetail> <shipmentno>20000001</shipmentno> <shipdate>2009-02-01</shipdate> <returndate>2009-02-9</returndate> <lastshipment>Y</LastShipment> <shipmentamount>2000</shipmentamount> <storeid>886751</storeid> <eshoptype>04</eshoptype> </shipmentdetail> </lastshipment> </returndate> </shipdate> </shipmentno> </shipmentdetail> </order> <order> <eshopid>001</eshopid> <opmode>A</opmode> <eshoporderno>200906010002</eshoporderno> <eshoporderdate>2009-02-01</eshoporderdate> 廠商上線說明書 This Document is 7-Eleven /PIC/ Presco Confidential Page: 17 <servicetype>1</servicetype> <shoppername>林志玲</shoppername> <shopperphone></shopperphone> <shoppermobilphone></shoppermobilphone> <shopperemail></shopperemail> <receivername>林志玲</receivername> <receiverphone></receiverphone> <receivermobilphone></receivermobilphone> <receiveremail></receiveremail> <receiveridnumber></receiveridnumber> <orderamount>1200</orderamount> <orderdetail> <productid></productid> <productname></productname> <quantity></quantity> <unit></unit> <unitprice></unitprice> </orderdetail> <shipmentdetail> <shipmentno>20000002</shipmentno> <shipdate>2009-02-01</shipdate> <returndate>2009-02-9</returndate> <lastshipment>N</LastShipment> <shipmentamount>800</shipmentamount> <storeid>886750</storeid> <eshoptype>04</eshoptype> </shipmentdetail> <shipmentdetail> <shipmentno>20000003</shipmentno> <shipdate>2009-02-01</shipdate> <returndate>2009-02-9</returndate> <lastshipment>Y</LastShipment> <shipmentamount>400</shipmentamount> <storeid>886750</storeid> <eshoptype>04</eshoptype> <shipmentdetail> </lastshipment> </returndate> </shipdate> </shipmentno> </shipmentdetail> </lastshipment> </returndate> </shipdate> </shipmentno> </shipmentdetail> </order> </doccontent> </orderdoc> ``` php檔案 ```php define("DOCROOT",dirname(__FILE__)."/"); require DOCROOT."simple_html_dom.php"; function domToArray($elements) { $results = array(); foreach ($elements as $element) { if (count($element->children) > 0) { $results[$element->tag][] = domToArray($element->children); } else { $results[$element->tag] = $element->text(); } } return $results; } $root = file_get_html(DOCROOT."test.xml"); $order_doms = domToArray($root->find("Order")); print_r($order_doms); ```

2013年6月2日 星期日

php 民國年日期計算

西元年轉民國年,還要再處理日期的加減 光用php的date函數或是mktime是一件很麻煩的事情 所幸php內建了DataTime這個class來協助處理這件事情 ```php // 西元年轉民國年,並取得5天後的日期 $date = new DateTime("now"); $date->modify("+5 day"); $date->modify("-1911 year") // 由於Y為四位數,所以利用ltrim去0 echo ltrim($date->format("Y-m-d H:i:s"),"0"); // 民國年轉西元年,並取得10天前的日期 $date = new DateTime("101-01-01"); $date->modify("+5 day"); $date->modify("+1911 year") echo $date->format("Y-m-d H:i:s"); ```