2013年1月29日 星期二
2013年1月28日 星期一
2013年1月22日 星期二
2013年1月11日 星期五
2012年12月30日 星期日
2012年12月25日 星期二
2012年12月21日 星期五
2012年12月20日 星期四
2012年12月17日 星期一
2012年12月16日 星期日
Javascript 表單字串檢查
測試字串是否符合正規表示:
/**
* Check string
* @date 2012/08/13
* @by Ron Lee
*/
//letters and numbers and underscore
function validLiteral(INPUT) {
var pattern = /^(\w+)$/; // a-zA-Z0-9_
var result=pattern.test(INPUT);
return result;
}
//numbers
function validNum(INPUT) {
var pattern = /^(\d+)$/; // 0-9
var result = pattern.test(INPUT);
return result;
}
//account
function validAccount(INPUT) {
var pattern = /^[a-zA-Z]+([-_\.]\w+)*$/;
var result=pattern.test(INPUT);
return result;
}
//password
function validPassword(INPUT) {
var pattern = /^([^\'|\"]+)$/; // quote is not allowed
var result=pattern.test(INPUT);
return result;
}
function validEmail(INPUT) {
var pattern = /^(\w+)([-\.\w]*)@([-\w]+)(\.[-\w]+)+$/i;
var result = pattern.test(INPUT);
return result;
}
//phone number
function validPhone(INPUT) {
var numExp = /([\d-]+)/; // phone number: numbers and hyphens: 12-3456-789
var result = pattern.test(INPUT);
return result;
}
//date
function validDate(year, month, day) {
var dateStr = (year+'/'+month+'/'+day).replace(/\b(\d)\b/g, '0$1');
if (!dateStr) return false;
if (!dateStr.match(/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/)) return false;
var dateObj = new Date(dateStr);
var get_dateStr = dateObj.getFullYear()+'/'+(dateObj.getMonth()+1)+'/'+dateObj.getDate();
get_dateStr = get_dateStr.replace(/\b(\d)\b/g, '0$1');
//document.write(dateStr+'<BR>'+get_dateStr+'<BR>');
return dateStr==get_dateStr;
}
function addTimeZero(dateString){
return document.write(dateString.replace(/\b(\d)\b/g, '0$1'));
}
//file name in url
function getUrlFilename(INPUT) {
var url = window.location.toString();
var result= url.split(/(\\|\/)/g).pop();
return result;
}
2012年12月15日 星期六
2012年12月9日 星期日
PHPMailer
PHPMailer 不知道發生了什麼事,現在網站的下載連結都是錯。點擊 download,不管是哪一個:
PHPMailer for PHP4
PHPMailer for PHP5/6
PHPMailer-FE (Form2Email)
PHPMailer-ML
PHPMailer-BMH
全部都會連到PHP4 的舊版 。不過首頁倒是提供一個連結到 code.google.com 的網站,在這裡可以下載新版 PHPMailer 。目前是 5.2.2
Updated for PHPMailer v5.0.0 (官網,函數說明)
其它參考:
PHPMailer介紹與使用 (派克空間)
實作PHPMailer郵件函式庫 (雖然是 2007 年的文章,但距今2012,差別不大)
利用 phpmailer 透過 gmail 寄信 (使用 465 port, openssl )
PHPMailer tutorial (AskApache 的教學,英文)
PHPMailer for PHP4
PHPMailer for PHP5/6
PHPMailer-FE (Form2Email)
PHPMailer-ML
PHPMailer-BMH
全部都會連到PHP4 的舊版 。不過首頁倒是提供一個連結到 code.google.com 的網站,在這裡可以下載新版 PHPMailer 。目前是 5.2.2
Updated for PHPMailer v5.0.0 (官網,函數說明)
其它參考:
PHPMailer介紹與使用 (派克空間)
實作PHPMailer郵件函式庫 (雖然是 2007 年的文章,但距今2012,差別不大)
利用 phpmailer 透過 gmail 寄信 (使用 465 port, openssl )
PHPMailer tutorial (AskApache 的教學,英文)
2012年12月8日 星期六
2012年11月13日 星期二
2012年11月12日 星期一
2012年11月8日 星期四
2012年10月24日 星期三
2012年10月20日 星期六
PHP去除指定的html標籤
創建 test.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文件</title>
</head>
<body>
aaa
<strong>strong</strong>
bbb
<em>em</em>
ccc
<script type="text/javascript" src="/script1.js"></script>
<script type="text/javascript" src="/script2.js">/* inside script, same line */</script>
ccc
<script type="text/JavaScript">
/* inside script, change line */
</script>
ddd
</body>
</html>
php 程式碼
<?php
$filename = "test.html";
$handle = fopen("$filename","r");
$Data = fread($handle, filesize($filename));
$newData = strip_only_tags($Data, 'script', 0);
fclose($handle );
print_r($newData);
function strip_only_tags($source, $tag, $stripContent=FALSE){
//不成對的標籤
$nonPair = array('img', 'br');
if(in_array($tag, $nonPair)){
$pattern = '#(<'.$tag.'(.*)>)#';
$str = preg_replace($pattern, '', $str);
continue;
}
$newData = '';
$restData = $source;
while(1){
//找出起始標籤
$pattern = '#<'.$tag.'[^>]*>#';
$isMatch = preg_match($pattern, $restData, $matches);
if($isMatch){
$posStart = strpos($restData, $matches[0]);
$len = strlen($matches[0]);
$posEnd = $posStart + $len;
$newData .= substr($restData, 0, $posStart);
$restData = substr($restData, $posEnd);
//找出結尾標籤,並計算長度
$pattern = '#</.*'.$tag.'[^>]*>#';
preg_match($pattern, $restData, $matches);
$endTag = $matches[0];
$posStart = strpos($restData, $endTag);
$len = strlen($endTag);
$posEnd = $posStart + $len;
if($stripContent==1){
$newData .= substr($restData, 0, $posStart);
}
$restData = substr($restData, $posEnd);
}else{
$newData .= $restData;
break;
}
}
return $newData;
}
?>
結果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文件</title>
</head>
<body>
aaa
<strong>strong</strong>
bbb
<em>em</em>
ccc
ccc
ddd
</body>
</html>
訂閱:
文章 (Atom)