這是在UTF-8網頁編碼的環境下使用,我參考神隱部落所修改的PHP限制顯示字串語法,原作者的語法我使用後發現,當實際字數少於需要顯示的字數的時候,後面3個...還是會出現??
原來是寫成 if (strlen($a) > $b) echo "...";
照理說應該這樣字數應該能夠比較才對,
不知是變數$b沒有轉成數字型態還是怎樣,所以我將strlen($a) > $b 改為 strlen($a) > strlen($sub_content)
2個變數都先用strlen取得字串長度,再進行比較,就正常了,
而且不會有中英文混雜時亂碼的問題
<?php
//裁切字串
function cut_content($a,$b){
$a = strip_tags($a); //去除HTML標籤
$sub_content = mb_substr($a, 0, $b, 'UTF-8'); //擷取子字串
echo $sub_content; //顯示處理後的摘要文字
//顯示 "......"
if (strlen($a) > strlen($sub_content)) echo "...";
}
//以上程式已經包裝起來,您可存放在例如:function.php網頁
//往後只要使用include("function.php");
//加上 cut_content($a,$b);即可,不需每次撰寫.
//$a代表欲裁切內容.
//$b代表欲裁切字數(字元數)
?>
IE6.0實在是所有網頁設計者的夢靨,有些頁面如IE6.0不支援,乾脆直接跳出警告或轉頁,底下是偵測Client端瀏覽器版本是否為IE6.0
if(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 6.0') == true )
{
// ie 6.0
header('Location: ../ie6_page.php');
}
else
{
//not ie 6.0
header('Location: ../not_ie6_page.php');
}
如果去掉6.0的話就只檢查是不是IE

老師說學寫程式的第一步就是...要會除錯,
剛剛找了半天,原來PHP與ASP的response.end(終止程式碼執行)
相同的語法為:
exit;
超簡單的~~=.="
有時候如果需要在網站上放留言版供網友留言,但有些HTML標籤如<br/>換行要讓他有作用,又要避免一些特定的HTML標籤會讓有心人士做壞事,例如在留言內容夾雜<a href><img>等標籤,讓人不小心連結過去而中毒,這時就可以加入這個函式:
<?php /**
* Works like PHP function strip_tags, but it only removes selected tags.
* Example:
* strip_selected_tags('<b>Person:</b> <strong>Salavert</strong>', 'strong') => <b>Person:</b> Salavert
*/
function strip_selected_tags($text, $tags = array())
{
$args = func_get_args();
$text = array_shift($args);
$tags = func_num_args() > 2 ? array_diff($args,array($text)) : (array)$tags;
foreach ($tags as $tag){
while(preg_match('/<'.$tag.'(|\W[^>]*)>(.*)<\/'. $tag .'>/iusU', $text, $found)){
$text = str_replace($found[0],$found[2],$text);
}
}
return preg_replace('/(<('.join('|',$tags).')(|\W.*)\/>)/iusU', '', $text);
}
?>
在要顯示訪客留言的欄位呼叫這個函式,與要過濾的特定標籤,這樣比較靈活,例如只要過濾不讓連結與圖片的HTML標籤有效,就在$your_text,之後加上要過濾的標籤名稱a,img...
傳進涵式後,標籤會轉為陣列逐一過濾
<?php echo strip_selected_tags($your_text,"a","img"); ?>
註:要讓輸入文字時按Entert產生的“\n”轉變成換行的<br/>,可能還需要再包入 nl2br 這個函式,例如:
<?php echo strip_selected_tags(nl2br($your_text),"a","img"); ?>
nl2br 是 PHP 內建的涵式,直接呼叫就可以了
參考資料:http://tw.php.net/manual/en/function.strip-tags.php
在預設的情況下,安裝完phpMyAdmin後,不管用什麼帳號登入,一定都會看到 information_schema 這個資料庫,但我們又不能對這個資料庫進行修改,只能查看它的一些訊息,大家都想把這個資料庫隱藏起來不要顯示,其實phpMyAdmin提供這項功能。
找到根目錄下的config.inc.php檔,然後在大約第35行的位置
在下圖第7行的位置 $cfg['Servers'][$i]['extension'] = 'mysql'; 這行底下
加入這行 $cfg['Servers'][$i]['hide_db'] = 'information_schema';
如下: 閱讀全文...
最新留言