星期四, 元月 21, 2010

PHP 將 UTF-8 的 字串 依 指定長度 切割成陣列(str_split 的 UTF-8版)

PHP 的 str_split() 的功能、使用方式 如下:

<?php
$str = 'Hello';
print_r(str_split($str)); // array('H', 'e', 'l', 'l', 'o')
print_r(str_split($str, 3)); // array('Hel', 'lo')
?>

str_split() 可以將 字串 依 需要的長度 做分割, 但是對 UTF-8 的中文, 就無法切依需要的長度來做切割, 要自己另外處理.

註: 下述程式 使用方法 都跟 str_split() 一樣.

 (閱讀全文)

星期五, 十二月 25, 2009

PHP 指定 字型 將 文字 畫成圖片

PHP 指定字型, 並將文字畫成圖片來顯示.

 (閱讀全文)

星期二, 十月 27, 2009

PHP 使用 SimpleXML 來解析 XML 內容、屬性

PHP 可以使用 simplexml_load_stringsimplexml_load_file 來解析 XML, 以取得內容.

 (閱讀全文)

星期二, 十月 20, 2009

MySQL TEXT 格式 的 長度限制

MySQL 使用 TEXT 格式, 長度限制是多少? (最多/最長 可以寫多少資料)

 (閱讀全文)

星期三, 十月 07, 2009

PHP 使用 CURL 同步抓取多個網頁

一般 CURL 抓網頁的方法, 是一頁一頁抓, 假設要抓 4頁, 所費時間各別是 5,10,7,5 秒, 那全部總合所花的時間就是 5 + 10 + 7 + 5 = 27 秒.

若能同時間去抓取多個網頁, 所花費的時間 5,10,7,5 秒, 全部總合所花的時間是 10 秒.(花費最多時間的秒數)

 (閱讀全文)

星期二, 十月 06, 2009

Crontab 的 sed 出現 "y 命令的字串長度不同" 解法

於 Debian Linux 的 Bash Shell 中, 使用下述命令, 可以正常執行, 並得到正確結果~ (過濾特殊符號, 全形 轉 半形, 大寫轉小寫 等.)

 (閱讀全文)

星期四, 十月 01, 2009

HTTP 轉換網址 301、302 差異

HTTP 狀態(Status) 301 和 302 的差異為何? PHP 於程式要回傳狀態要怎麼寫?

 (閱讀全文)

星期一, 九月 28, 2009

PHP 的 array_slice 保留 key 的值

PHP 使用 array_slice 取得某區間的 array 值, 但是 key 的值如果是數字, 則會被修改成 0, 1... 等.

 (閱讀全文)

星期五, 九月 25, 2009

PHP 的 array merge 保留 key 的值

PHP 的 array_merge 會將 數值 變成 0, 1, 2..., 就算是強制轉換成字串也一樣.

 (閱讀全文)

星期四, 九月 24, 2009

好文: 常用 Regular Expression 範例

寫程式常常需要檢查信用卡、日期、Email、IP、密碼... 等等.

 (閱讀全文)

星期二, 九月 22, 2009

使用 PHP 接收 Linux 中 pipe 的 輸出資料

在 Linux 常使用到 pipe(|), 要如何讓 PHP 讀取 pipe 送過來的值呢?

  • ex: cat file.txt | ./read_pipe.php # 將 file.txt cat 印出, 送給 read_pipe.php 接收處理.

 (閱讀全文)

星期一, 八月 24, 2009

PHP 的 preg_replace 注意事項

PHP 的 preg_match(), preg_replace() 是蠻常用的 regex function, 但是若用變數帶入時, 要特別注意 \ 等 符號.

 (閱讀全文)

星期二, 八月 11, 2009

PHP 使用 sprintf 調換變數順序

在多國語系翻譯時, 會有遇到 英文 與 中文 翻譯的字前後順序不同的問題, 此時可以使用 sprintf 來解決.

 (閱讀全文)

星期一, 七月 27, 2009

Yahoo! BBAuth 單一登入 設定 / 教學 / 問答(PHP)

Yahoo! BBAuth 是做帳號單一登入, 就是使用 Y! 的帳號, 也可以登入你的網站.

同類的有 OpenID / Yahoo! OAuth.

照理說, 以後應該都會走 OpenID 或 OAuth, 那為何要寫 BBAuth? 為何不用 OpenID 或 Yahoo! OAuth?

  • OpenID: 太長了, 自己都懶得打, 放棄~
  • Y! OAuth: 照理說應該要用這個, 但是遇到一堆問題:
    • 第一次用遇到 Security 問題, 跳出警告視窗(那警告視窗看到就覺得死定了).
    • 第二次用遇到 Y! DB unsync, 每次 Reload YDN 的 Dashboard 出來的值都不一樣(登入異常)

總之, 使用 Y! OAuth 的經驗真是很糟糕, 還是先繼續用 Y! BBAuth 吧.

註: 此篇主要是設定 + 登入的部份, 如何存取 Y! API 的部份在此篇不提.

 (閱讀全文)

星期四, 四月 23, 2009

Linux 取得機器目前 IP 的 script

目前機器所用 IP

  • /sbin/ifconfig | grep Bcast | awk '{print $2}' | sed 's/addr://' # 192.168.0.1
  • /sbin/ifconfig | awk -F'[ :]+' '/Bcast/{print $4}' # 感謝 pank 提供

目前機器所有 IP (PPPoE IP / 127.0.0.1 / 虛擬 IP .. 等等)

  • /sbin/ifconfig | grep Mask | awk '{print $2}' | sed 's/addr://'  # 192.168.0.1 / 127.0.0.1 ... 多個 IP
  • /sbin/ifconfig | awk -F'[ :]+' '/Mask/{print $4}' 感謝 pank 提供

1 2 3 4 5 6 7 8  下一篇»