php 取得部分字串加入編碼判斷mb_substr()函數

 
本範例中有個字串叫做「這是mobilenest測試字串」,字串夾雜了中文與英文,接著輸出 mb_substr 截取的字串,從第 0 個字擷取到第 8 個字,編碼採用 UTF-8 編碼,這樣跑出來的結果就是「這是mobile」這 8 個字囉!

php 字串長度計算加入編碼判斷mb_strlen()函數

如果你有用過 strlen() 函式,用來判斷字串長度算是相當好用,但是要判斷繁體中文字的字數就沒辦法做到了,所以這時候可以使用另一個相似的函式,那就是 mb_strlen(),因為 mb_strlen() 可以加入編碼判斷,像是unicode UTF-8 等,語法如下。

PHP mb_strlen() 函式的第一個參數 string 是要計算長度的字串,必要項目,而第二個參數 string encoding 則是要判斷的編碼,可以自定,例如unicode就用 utf-8,以下舉個簡單的範例。

 

以上範例會輸出的結果是 7,因為 mb_strlen 知道你要判斷的編碼是萬國碼 uft-8,所以 PHP 自動把「天氣真好」這四個繁體中文字型認出來了,如果採用的是 strlen() 函式,則輸出結果就會是 21囉!

php 字串長度計算 strlen()函數

在 PHP 中取得字串長度可以使用 strlen() 函式,語法如下
函式會回傳字串的長度,其中的字串是必要項目,即為要計算長度的 String

 

※小叮嚀:取得字串長度時候如上例 $string 有 9 個字母,也就是有 9 個 bytes,所以 strlen() 函式會回傳 9 這樣的結果,strlen 回傳的結果不是字串的字數,而是字串 bytes 數量,這點是許多人常搞混的地方。

PHP filter_var 資料過濾函式

這個參數其實還滿好用的,他是在過濾資料是否符合該規定的條件,例如E-mail的部份有時候我們在送出資料的時候如果遇到email填錯或是E-mail Injections這個函數就可以有效阻擋


他的語法是filter_var(variable, filter, options)

參數 功能描述
variable 必要欄位,傳入所需判斷的變數。
filter 選填欄位。規定要使用的篩檢物件的ID。
options 規定包含符號/選項的陣列。檢查每個篩檢程式可能的標誌和選項。

options參數如下

ID 名稱 描述
FILTER_CALLBACK 調用使用者自訂函數來過濾資料。
FILTER_SANITIZE_STRING 去除標籤,去除或編碼特殊字元。
FILTER_SANITIZE_STRIPPED “string" 篩檢程式的別名。
FILTER_SANITIZE_ENCODED URL-encode 字串,去除或編碼特殊字元。
FILTER_SANITIZE_SPECIAL_CHARS HTML 轉義字元 ‘"<>& 以及 ASCII 值小於 32 的字元。
FILTER_SANITIZE_EMAIL 刪除所有字元,除了字母、數位以及 !#$%&’*+-/=?^_{|}~@.[]
FILTER_SANITIZE_URL 刪除所有字元,除了字母、數位以及 $-_.+!*'(),{}|\\^~[]<>#%";/?:@&=
FILTER_SANITIZE_NUMBER_INT 刪除所有字元,除了數位和 +-
FILTER_SANITIZE_NUMBER_FLOAT 刪除所有字元,除了數位、+- 以及 .,eE。
FILTER_SANITIZE_MAGIC_QUOTES 應用 addslashes()。
FILTER_UNSAFE_RAW 不進行任何過濾,去除或編碼特殊字元。
FILTER_VALIDATE_INT 在指定的範圍以整數驗證值。
FILTER_VALIDATE_BOOLEAN 如果是 “1″, “true", “on" 以及 “yes",則返回 true,如果是 “0″, “false", “off", “no" 以及 “",則返回 false。否則返回 NULL。
FILTER_VALIDATE_FLOAT 以浮點數驗證值。
FILTER_VALIDATE_REGEXP 根據 regexp,相容 Perl 的規則運算式來驗證值。
FILTER_VALIDATE_URL 把值作為 URL 來驗證。
FILTER_VALIDATE_EMAIL 把值作為 e-mail 來驗證。
FILTER_VALIDATE_IP 把值作為 IP 地址來驗證。

程式範例

PHP Date 函數用法

PHP Date指令操作

格式化日期
===========

執行結果
===========
2009/05/11
2009.05.11
2009-05-11

日期運算+格式化日期
===========

執行結果
===========
明天日期是2012/02/22

php 字串big轉utf-8

如果在新增資料到資料庫時,同時要新增到 big5 與 utf-8 編碼的資料庫裡,而同時要將 big5 編碼的字串轉為 utf-8 的格式

只需要使用 PHP 裡的內建的iconv 函式即可達成

PHP版本:(PHP 4 >= 4.0.5, PHP 5)
官方說明:string iconv ( string $in_charset , string $out_charset , string $str )

方法一

方法二

其他方法

※注意事項:轉出來無法 json_encode,所以會先用空白字元取代,於是加上 TRANSLIT另外再函數前加上 @ ,不然會跑出 Detected an illegal character in input string 之類的錯誤。

解決 16g 以上 隨身碟無法用 Windows7-USB-DVD-Download-Tool 製作開機碟

最近買了二支16g以上的隨身碟
正當想要做Windows開機碟的時候發現無法copy檔案
測試了16g ,32g的依然都無法copy檔案
上網搜尋了各大論壇始終找不到解決方法

終於在國外的一個討論區有個人發現了一個解決方法
在此以Windows 7為測試環境
首先進入windows的命令提示字元(即在開始執行打cmd enter)
1.diskpart (進入磁碟工具程式)
2.list disk 顯示出目前所有的磁碟機
3.select disk 磁碟3 (輸入磁碟機代號,中文版的系統為中文的磁碟N,英文版為DISK N) 選到你隨身碟的那個磁碟代碼 如果不清楚是哪一個可以用大小來區分16g的隨身碟會顯示14g
4.clean (將這個隨身碟清空)
5.create partition primary (建立第一個磁碟區)
6.select partition 1 (選取第一個磁碟區)
7.active (啟動他)
8.format quick fs=fat32 (將他格式化為fat32,不用懷疑就是這樣幹)
9.assign (指派)
10.exit (離開)
11.再執行一次Windows7-USB-DVD-Download-Tool即可成功製作開機碟

參考原文出處

dpkg指令參考

最近在更新Openfire相關套件,因為該軟體是用debin

.deb是Ubuntu的軟體封裝檔案,下載下來後的軟體必須用dpkg指令進行安裝!

 

指令 功能
dpkg -i package.deb 安裝軟體
dpkg -r package 刪除軟體
dpkg -L package 列出與該package相關聯的文件
dpkg -l package 顯示出該package的版本
dpkg –unpack package.deb 解壓縮 deb 的內容
dpkg -S keyword 搜尋package內容
dpkg -l 列出伺服器中已安裝的package
dpkg -c package.deb 列出package的內容
dpkg –configure package 設定package
dpkg -n 查詢dpkg相關指令