2015年7月31日 星期五

php在textarea中換行

在使用文字輸入時,使用者會習慣以Enter來換行排版,但是呈現時卻無法直接的換行,
以下為PHP換行的方式。


只要在輸出的時候加入此行有可以了
$message = ereg_replace("\n", "<BR>\n", $message );

2015年6月22日 星期一

PHP 字串正規化判斷方法

有時候在接收字串後會做正規化的判斷,而在PHP5.3版後ereg()已無法正常的使用,所以要改使用preg_match的方式,如下:

原來: 
ereg("^[0-9]*$",$page)
變成:
preg_match("/^[0-9]*$/",$page)

只要將 " " 中的正規化表示法修改為所需要的格式就可以正確的半段字串了,像是密碼必須要6~12碼且是英文與數字的組合就如下方範例:
$test_1 = "jeff123";
if (preg_match("/^^(?=^.{6,12}$)((?=.*[0-9])(?=.*[a-z|A-Z]))^.*$/",$test_1)) {
echo "pass";
}else{
echo "fail";
}
其餘的正規化可參考  常用正規化表示式
 

2015年6月15日 星期一

MySQL 中文排序的方式

中文欄位設定為 utf8_general_ci,若要查詢的結果按正體中文排序,則要使用 CONVERT() 函式,如:

SELECT * FROM 資料表 ORDER BY CONVERT(欄位名 USING BIG5) DESC

2015年4月17日 星期五

CSS 圖片水平置中

CSS vertical-align 常用參數表
語法說明
vertical-align:baseline;預設值,元素在該行的基礎線上,大約在文字的中間位置,並不美觀。
vertical-align:sub;圖片垂直對齊該行本文的下標位置。
vertical-align:super;圖片垂直對齊該行本文的上標位置。
vertical-align:top;圖片垂直對齊該行元素的最高位置。
vertical-align:text-top;圖片垂直對齊該行文字的最高位置。
vertical-align:middle;圖片垂直對齊該行文字的置中位置。
vertical-align:bottom;圖片垂直對齊該行元素的最低位置。
vertical-align:text-bottom;圖片垂直對齊該行文字的最低位置。
vertical-align:%;以百分比來讓圖片垂直對齊該行文字,可以有負值。
CSS vertical-align 屬性範例
<style type="text/css">
#TestImg1{
    vertical-align:text-top;
}
#TestImg2{
    vertical-align:middle;
}
#TestImg3{
    vertical-align:text-bottom;
}
#SeperationLine{
    height:1px;
    border-top:1px #ccc dashed;
    margin:10px 0px;
}
</style>
這張圖未使用 vertical-align 屬性<img id="TestImg0" src="圖片網址">這張圖未使用 vertical-align 屬性
<div id="SeperationLine"></div>
這張圖 vertical-align 設為 text-top<img id="TestImg1" src="圖片網址">這張圖 vertical-align 設為 text-top
<div id="SeperationLine"></div>
這張圖 vertical-align 設為 middle<img id="TestImg2" src="圖片網址">這張圖 vertical-align 設為 middle
<div id="SeperationLine"></div>
這張圖 vertical-align 設為 bottom<img id="TestImg3" src="圖片網址">這張圖 vertical-align 設為 bottom

範例輸出效果
這張圖未使用 vertical-align 屬性這張圖未使用 vertical-align 屬性
這張圖 vertical-align 設為 text-top這張圖 vertical-align 設為 text-top
這張圖 vertical-align 設為 middle這張圖 vertical-align 設為 middle
這張圖 vertical-align 設為 bottom這張圖 vertical-align 設為 bottom

參考來源wibibij網頁設計教學百科

2015年3月26日 星期四

php 使用str_pad 將字串或是數字補0

會找到有些使用sprintf函式的方法 像下面這樣
1
2
$var = 1;
echo sprintf("%02d", $var);
其實php本身就有一個專門可以補齊位數的函式 : str_pad()
string str_pad ( string $input , int $pad_length [, string $pad_string= " " [, int $pad_type= STR_PAD_RIGHT ]] )
$input : 原字串
$pad_length : 補齊後的位數
$pad_string : 用來補齊的字串
$pad_type : 補齊的方式 有三種,STR_PAD_RIGHT (由右邊補)、STR_PAD_LEFT (由左邊補)、STR_PAD_BOTH (左右兩邊都補), 預設為STR_PAD_RIGHT
所以其實不只可以補零,要補什麼字都可以
而以補零來舉例的話就是
1
2
3
4
5
6
7
8
9
10
11
12
$value = 7;
//將數字由左邊補零至三位數
$value = str_pad($value,3,'0',STR_PAD_LEFT);
echo $value;
// 結果會印出 007;
//下面這是document裡的例子
$input = "Alien";
echo str_pad($input, 10);                      // produces "Alien     "
echo str_pad($input, 10, "-=", STR_PAD_LEFT);  // produces "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH);   // produces "__Alien___"
echo str_pad($input, 6 , "___");               // produces "Alien_"
參考[lifeIs: tooShort to: waste]

2015年3月19日 星期四

在PHP中json的使用方法

最近剛好接到一個要接收其他語言的參數並整了到網站資料庫中的案子,之前就有聽說過JSON可以完成這樣的串接,而且輕量沒有負擔。Json可以串接相當普及的語言像是AJAX、C++、Javascript、Java、Node.js等不同的語言,這對於移動的世界而言是不可不知的技術啊!
剛好看到一篇不錯的文章介紹,以下為PHP使用JSON來介紹

JSON 是個以純文字為基底去儲存和傳送簡單結構資料,你可以透過特定的格式去儲存任何資料(字串,數字,陣列,物件),也可以透過物件或陣列來傳送較複雜的資料。一旦建立了您的 JSON 資料,就可以非常簡單的跟其他程式溝通或交換資料,因為 JSON 就只是純文字個格式。


簡單範例
PHP有兩個函式來處理JSON的資料

json_encode() // 將資料轉成JSON格式
json_decode() // 將JSON資料轉為可處理的資料


此範例是將資料轉為JSON格式

<?php
  $cart = array(
  "orderID" => 12345,
  "shopperName" => "John Smith",
  "shopperEmail" => "johnsmith@example.com",
  "contents" => array(
    array(
      "productID" => 34,
      "productName" => "SuperWidget",
      "quantity" => 1
    ),
    array(
      "productID" => 56,
      "productName" => "WonderWidget",
      "quantity" => 3
    )
  ),
  "orderCompleted" => true
);

echo json_encode( $cart );
?>


此範例為將JSON轉為PHP可讀檔案

<?php
$jsonString = '
{                                           
  "orderID": 12345,                         
  "shopperName": "John Smith",              
  "shopperEmail": "johnsmith@example.com",  
  "contents": [                             
    {                                       
      "productID": 34,                      
      "productName": "SuperWidget",         
      "quantity": 1                        
    },                                      
    {                                       
      "productID": 56,                      
      "productName": "WonderWidget",        
      "quantity": 3                         
    }                                       
  ],                                        
  "orderCompleted": true                    
}                                           
';
  
$cart = json_decode( $jsonString );
echo $cart->shopperEmail . "<br />";
echo $cart->contents[1]->productName . "<br />";

?>

其實重點就是在json_encode及json_decode這兩個函式的操作,因JSON有自己的格式,所以PHP要讀出來不是大問題,只是兩語言串接的過程是比較需要仔細規劃的。