Subversion Repositories php-qbpwcf

Rev

Rev 218 | Rev 239 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 218 Rev 226
Line 1... Line 1...
1
<?php
1
<?php
2
 
2
 
3
/*
3
/*
4
 
4
 
5
	QBPWCF, Quick Build PHP website Component base on Fedora Linux.
5
	QBPWCF, Quick Build PHP website Component base on Fedora Linux.
6
    Copyright (C) 2015~2024 Min-Jhin,Chen
6
    Copyright (C) 2014~2025 MIN ZHI, CHEN
7
 
7
 
8
    This file is part of QBPWCF.
8
    This file is part of QBPWCF.
9
 
9
 
10
    QBPWCF is free software: you can redistribute it and/or modify
10
    QBPWCF is free software: you can redistribute it and/or modify
11
    it under the terms of the GNU General Public License as published by
11
    it under the terms of the GNU General Public License as published by
Line 47... Line 47...
47
	#__call=>http://php.net/manual/en/language.oop5.overloading.php#object.callstatic
47
	#__call=>http://php.net/manual/en/language.oop5.overloading.php#object.callstatic
48
	#備註:
48
	#備註:
49
	#無.
49
	#無.
50
	*/
50
	*/
51
	public function __call($method,$arguments){
51
	public function __call($method,$arguments){
52
		
52
 
53
		#取得當前執行的函式
53
		#取得當前執行的函式
54
		$result["function"]=__FUNCTION__;
54
		$result["function"]=__FUNCTION__;
55
		
55
 
56
		#設置執行不正常
56
		#設置執行不正常
57
		$result["status"]="false";
57
		$result["status"]="false";
58
		
58
 
59
		#設置執行錯誤
59
		#設置執行錯誤
60
		$result["error"][]=__NAMESPACE__ ."/".$method."() 不存在!";
60
		$result["error"][]=__NAMESPACE__ ."/".$method."() 不存在!";
61
		
61
 
62
		#設置所丟入的參數
62
		#設置所丟入的參數
63
		$result["error"][]=$arguments;
63
		$result["error"][]=$arguments;
64
		
64
 
65
		#回傳結果
65
		#回傳結果
66
		return $result;
66
		return $result;
67
		
67
 
68
		}#function __call end
68
		}#function __call end
69
		
69
 
70
	/*
70
	/*
71
	#函式說明:
71
	#函式說明:
72
	#當前類別被呼叫的靜態方法不存在時,將會執行該函數,回報該方法不存在.
72
	#當前類別被呼叫的靜態方法不存在時,將會執行該函數,回報該方法不存在.
73
	#回傳結果:
73
	#回傳結果:
74
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
74
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 83... Line 83...
83
	#__callStatic=>http://php.net/manual/en/language.oop5.overloading.php#object.callstatic
83
	#__callStatic=>http://php.net/manual/en/language.oop5.overloading.php#object.callstatic
84
	#備註:
84
	#備註:
85
	#無.
85
	#無.
86
	*/
86
	*/
87
	public static function __callStatic($method,$arguments){
87
	public static function __callStatic($method,$arguments){
88
		
88
 
89
		#取得當前執行的函式
89
		#取得當前執行的函式
90
		$result["function"]=__FUNCTION__;
90
		$result["function"]=__FUNCTION__;
91
		
91
 
92
		#設置執行不正常
92
		#設置執行不正常
93
		$result["status"]="false";
93
		$result["status"]="false";
94
		
94
 
95
		#設置執行錯誤
95
		#設置執行錯誤
96
		$result["error"][]="欲呼叫的". __NAMESPACE__ ."/".$method."() 不存在!";
96
		$result["error"][]="欲呼叫的". __NAMESPACE__ ."/".$method."() 不存在!";
97
		
97
 
98
		#設置所丟入的參數
98
		#設置所丟入的參數
99
		$result["error"][]=$arguments;
99
		$result["error"][]=$arguments;
100
		
100
 
101
		#回傳結果
101
		#回傳結果
102
		return $result;
102
		return $result;
103
		
103
 
104
		}#function __callStatic end
104
		}#function __callStatic end
105
	
105
 
106
	/*
106
	/*
107
	#函式說明:
107
	#函式說明:
108
	#檢查一個數值是否與陣列裏面的元素相同,找到一個相符合的元素後就會停止搜尋.
108
	#檢查一個數值是否與陣列裏面的元素相同,找到一個相符合的元素後就會停止搜尋.
109
	#回傳結果:
109
	#回傳結果:
110
	#$result["status"],"true"表示執行正確,"false"表示執行錯誤.
110
	#$result["status"],"true"表示執行正確,"false"表示執行錯誤.
Line 128... Line 128...
128
	*/
128
	*/
129
	public static function getEqualVar(&$conf){
129
	public static function getEqualVar(&$conf){
130
 
130
 
131
		#初始化要回傳的變數
131
		#初始化要回傳的變數
132
		$result=array();
132
		$result=array();
133
			
133
 
134
		#設置當前執行的函數
134
		#設置當前執行的函數
135
		$result["function"]=__FUNCTION__;
135
		$result["function"]=__FUNCTION__;
136
				
136
 
137
		#如果 $conf 不為陣列
137
		#如果 $conf 不為陣列
138
		if(gettype($conf)!="array"){
138
		if(gettype($conf)!="array"){
139
			
139
 
140
			#設置執行失敗
140
			#設置執行失敗
141
			$result["status"]="false";
141
			$result["status"]="false";
142
			
142
 
143
			#設置執行錯誤訊息
143
			#設置執行錯誤訊息
144
			$result["error"][]="\$conf變數須為陣列形態";
144
			$result["error"][]="\$conf變數須為陣列形態";
145
 
145
 
146
			#如果傳入的參數為 null
146
			#如果傳入的參數為 null
147
			if($conf==null){
147
			if($conf==null){
148
				
148
 
149
				#設置執行錯誤訊息
149
				#設置執行錯誤訊息
150
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
150
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
151
				
151
 
152
				}#if end
152
				}#if end
153
 
153
 
154
			#回傳結果
154
			#回傳結果
155
			return $result;
155
			return $result;
156
			
156
 
157
			}#if end
157
			}#if end
158
 
158
 
159
		#取得使用的參數
159
		#取得使用的參數
160
		$result["argv"]=$conf;
160
		$result["argv"]=$conf;
161
 
161
 
162
		#如果 $conf["conditionElement"] 沒有設置
162
		#如果 $conf["conditionElement"] 沒有設置
163
		if(!isset($conf["conditionElement"])){
163
		if(!isset($conf["conditionElement"])){
164
			
164
 
165
			#設置錯誤識別
165
			#設置錯誤識別
166
			$result["status"]="false";
166
			$result["status"]="false";
167
			
167
 
168
			#設置錯誤訊息
168
			#設置錯誤訊息
169
			$result["error"]="\$conf[\"conditionElement\"]參數沒設定!";
169
			$result["error"]="\$conf[\"conditionElement\"]參數沒設定!";
170
			
170
 
171
			#回傳結果
171
			#回傳結果
172
			return $result;
172
			return $result;
173
			
173
 
174
			}#if end
174
			}#if end
175
			
175
 
176
		#如果 $conf["compareElements"] 沒有設置
176
		#如果 $conf["compareElements"] 沒有設置
177
		if(!isset($conf["compareElements"])){
177
		if(!isset($conf["compareElements"])){
178
			
178
 
179
			#設置錯誤識別
179
			#設置錯誤識別
180
			$result["status"]="false";
180
			$result["status"]="false";
181
			
181
 
182
			#設置錯誤訊息
182
			#設置錯誤訊息
183
			$result["error"]="\$conf[\"compareElements\"]參數沒設定!";
183
			$result["error"]="\$conf[\"compareElements\"]參數沒設定!";
184
			
184
 
185
			#回傳結果
185
			#回傳結果
186
			return $result;
186
			return $result;
187
			
187
 
188
			}#if end
188
			}#if end
189
 
189
 
190
		#有幾個 $conf["compareElements"] 要用來比對,就執行幾次
190
		#有幾個 $conf["compareElements"] 要用來比對,就執行幾次
191
		foreach($conf["compareElements"] as $key=>$value){
191
		foreach($conf["compareElements"] as $key=>$value){
192
			
192
 
193
			#debug
193
			#debug
194
			#var_dump($conf["conditionElement"],$value);
194
			#var_dump($conf["conditionElement"],$value);
195
			
195
 
196
			#如果要判斷的參數與要用來比對的參數有相同
196
			#如果要判斷的參數與要用來比對的參數有相同
197
			if($conf["conditionElement"]===$value){
197
			if($conf["conditionElement"]===$value){
198
 
198
 
199
				#執行正確
199
				#執行正確
200
				$result["status"]="true";
200
				$result["status"]="true";
201
	
201
 
202
				#判斷結果設爲 "true"
202
				#判斷結果設爲 "true"
203
				$result["founded"]="true";
203
				$result["founded"]="true";
204
						
204
 
205
				#取得該元素的key
205
				#取得該元素的key
206
				$result["equalVarName"]=$key;
206
				$result["equalVarName"]=$key;
207
 
207
 
208
				#取得該變數
208
				#取得該變數
209
				$result["equalVarValue"]=$value;
209
				$result["equalVarValue"]=$value;
210
				
210
 
211
				#回傳結果
211
				#回傳結果
212
				return $result;
212
				return $result;
213
 
213
 
214
				}#if end
214
				}#if end
215
			
215
 
216
			}#foreache end
216
			}#foreache end
217
 
217
 
218
		#執行到這邊代表沒有找到
218
		#執行到這邊代表沒有找到
219
		$result["founded"]="false";
219
		$result["founded"]="false";
220
 
220
 
Line 230... Line 230...
230
	#函式說明:
230
	#函式說明:
231
	#檢查多個數值,是否與陣列裏面的某些元素相同。
231
	#檢查多個數值,是否與陣列裏面的某些元素相同。
232
	#回傳結果:
232
	#回傳結果:
233
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
233
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
234
	#$result["function"],當前執行的函數
234
	#$result["function"],當前執行的函數
235
	#$result["error"],涵式錯誤訊息,若爲""則表示沒有錯誤 
235
	#$result["error"],涵式錯誤訊息,若爲""則表示沒有錯誤
236
	#$result["founded"][$i],若爲"false"代表沒有相同的元素;反之"true"代表有相同的元素,$i爲第i+1個$conf["inputElement"]參數判斷後的結果.
236
	#$result["founded"][$i],若爲"false"代表沒有相同的元素;反之"true"代表有相同的元素,$i爲第i+1個$conf["inputElement"]參數判斷後的結果.
237
	#$result["key"][$i],為找到$conf["inputElement"]第$i+1個元素的值是在$conf["blackBoxElement"]中的哪個元素.
237
	#$result["key"][$i],為找到$conf["inputElement"]第$i+1個元素的值是在$conf["blackBoxElement"]中的哪個元素.
238
	#必填參數:
238
	#必填參數:
239
	#$conf["inputElement"],字串陣列,想要找到的變數/數值.
239
	#$conf["inputElement"],字串陣列,想要找到的變數/數值.
240
	$conf["inputElement"]=array();
240
	$conf["inputElement"]=array();
Line 249... Line 249...
249
	*/
249
	*/
250
	public static function checkEquality(&$conf){
250
	public static function checkEquality(&$conf){
251
 
251
 
252
		#初始化要回傳的內容
252
		#初始化要回傳的內容
253
		$result=array();
253
		$result=array();
254
		
254
 
255
		#設置當前執行的函數
255
		#設置當前執行的函數
256
		$result["function"]=__FUNCTION__;
256
		$result["function"]=__FUNCTION__;
257
 
257
 
258
		#如果 $conf 不為陣列
258
		#如果 $conf 不為陣列
259
		if(gettype($conf)!="array"){
259
		if(gettype($conf)!="array"){
260
			
260
 
261
			#設置執行失敗
261
			#設置執行失敗
262
			$result["status"]="false";
262
			$result["status"]="false";
263
			
263
 
264
			#設置執行錯誤訊息
264
			#設置執行錯誤訊息
265
			$result["error"][]="\$conf變數須為陣列形態";
265
			$result["error"][]="\$conf變數須為陣列形態";
266
 
266
 
267
			#如果傳入的參數為 null
267
			#如果傳入的參數為 null
268
			if($conf==null){
268
			if($conf==null){
269
				
269
 
270
				#設置執行錯誤訊息
270
				#設置執行錯誤訊息
271
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
271
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
272
				
272
 
273
				}#if end
273
				}#if end
274
 
274
 
275
			#回傳結果
275
			#回傳結果
276
			return $result;
276
			return $result;
277
			
277
 
278
			}#if end
278
			}#if end
279
 
279
 
280
		#檢查參數
280
		#檢查參數
281
		#函式說明:
281
		#函式說明:
282
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
282
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
Line 290... Line 290...
290
		#必填寫的參數:
290
		#必填寫的參數:
291
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
291
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
292
		$conf["variableCheck.checkArguments"]["varInput"]=&$conf;
292
		$conf["variableCheck.checkArguments"]["varInput"]=&$conf;
293
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
293
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
294
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableName"]=array("inputElement","blackBoxElement");
294
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableName"]=array("inputElement","blackBoxElement");
295
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
295
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double");
296
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableType"]=array("array","array");
296
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableType"]=array("array","array");
297
		#$conf["variableCheck::checkArguments"]["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
297
		#$conf["variableCheck::checkArguments"]["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
298
		$conf["variableCheck.checkArguments"]["referenceVarKey"]="variableCheck.checkArguments";
298
		$conf["variableCheck.checkArguments"]["referenceVarKey"]="variableCheck.checkArguments";
299
		#可以省略的參數:
299
		#可以省略的參數:
300
		#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
300
		#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
301
		#$conf["canBeEmptyString"]="false";
301
		#$conf["canBeEmptyString"]="false";
302
		#$conf["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
302
		#$conf["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
303
		#$conf["skipableVariableName"]=array();
303
		#$conf["skipableVariableName"]=array();
304
		#$conf["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
304
		#$conf["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
305
		#$conf["skipableVariableType"]=array();
305
		#$conf["skipableVariableType"]=array();
306
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定.
306
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定.
307
		#$conf["skipableVarDefaultValue"]=array("");
307
		#$conf["skipableVarDefaultValue"]=array("");
308
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
308
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
309
		#$conf["variableCheck.checkArguments"]["arrayCountEqualCheck"][]=array();
309
		#$conf["variableCheck.checkArguments"]["arrayCountEqualCheck"][]=array();
310
		$checkResult=variableCheck::checkArguments($conf["variableCheck.checkArguments"]);			
310
		$checkResult=variableCheck::checkArguments($conf["variableCheck.checkArguments"]);
311
		unset($conf["variableCheck.checkArguments"]);
311
		unset($conf["variableCheck.checkArguments"]);
312
 
312
 
313
		#如果檢查失敗
313
		#如果檢查失敗
314
		if($checkResult["status"]=="false"){
314
		if($checkResult["status"]=="false"){
315
			
315
 
316
			#設置執行不正常
316
			#設置執行不正常
317
			$result["status"]="false";
317
			$result["status"]="false";
318
		
318
 
319
			#程式停止執行
319
			#程式停止執行
320
			$result["error"]=$checkResult;
320
			$result["error"]=$checkResult;
321
			
321
 
322
			#回傳結果
322
			#回傳結果
323
			return $result;
323
			return $result;
324
			
324
 
325
			}#if end
325
			}#if end
326
			
326
 
327
		#如果檢查不通過
327
		#如果檢查不通過
328
		if($checkResult["passed"]=="false"){
328
		if($checkResult["passed"]=="false"){
329
			
329
 
330
			#設置執行不正常
330
			#設置執行不正常
331
			$result["status"]="false";
331
			$result["status"]="false";
332
		
332
 
333
			#程式停止執行
333
			#程式停止執行
334
			$result["error"]=$checkResult;
334
			$result["error"]=$checkResult;
335
			
335
 
336
			#回傳結果
336
			#回傳結果
337
			return $result;
337
			return $result;
338
			
338
 
339
			}#if end
339
			}#if end
340
 
340
 
341
		#如果必備的參數都存在,而且元素數量皆正確。
341
		#如果必備的參數都存在,而且元素數量皆正確。
342
		if((count($conf["inputElement"])>0) && (count($conf["blackBoxElement"])>0)){
342
		if((count($conf["inputElement"])>0) && (count($conf["blackBoxElement"])>0)){
343
 
343
 
344
			#有幾個 $conf["inputElement"] 要判斷,就執行幾次
344
			#有幾個 $conf["inputElement"] 要判斷,就執行幾次
345
			foreach($conf["inputElement"] as $inputElementKey=>$inputElementValue){
345
			foreach($conf["inputElement"] as $inputElementKey=>$inputElementValue){
346
				
346
 
347
				#檢查 $inputElementValue 是否存在於 $conf["blackBoxElement"] 陣列裡面
347
				#檢查 $inputElementValue 是否存在於 $conf["blackBoxElement"] 陣列裡面
348
				#函式說明:
348
				#函式說明:
349
				#檢查一個數值是否與陣列裏面的元素相同,找到一個相符合的元素後就會停止搜尋.
349
				#檢查一個數值是否與陣列裏面的元素相同,找到一個相符合的元素後就會停止搜尋.
350
				#回傳結果:
350
				#回傳結果:
351
				#$result["status"],"true"表示執行正確,"false"表示執行錯誤.
351
				#$result["status"],"true"表示執行正確,"false"表示執行錯誤.
Line 357... Line 357...
357
				#必填參數:
357
				#必填參數:
358
				$conf["self::getEqualVar"]["conditionElement"]=$inputElementValue;#條件元素,要等於的元素內容.
358
				$conf["self::getEqualVar"]["conditionElement"]=$inputElementValue;#條件元素,要等於的元素內容.
359
				$conf["self::getEqualVar"]["compareElements"]=$conf["blackBoxElement"];#要比對的陣列變數內容.
359
				$conf["self::getEqualVar"]["compareElements"]=$conf["blackBoxElement"];#要比對的陣列變數內容.
360
				$getEqualVar=self::getEqualVar($conf["self::getEqualVar"]);
360
				$getEqualVar=self::getEqualVar($conf["self::getEqualVar"]);
361
				unset($conf["self::getEqualVar"]);
361
				unset($conf["self::getEqualVar"]);
362
								
362
 
363
				#如果檢查失敗
363
				#如果檢查失敗
364
				if($getEqualVar["status"]==="false"){
364
				if($getEqualVar["status"]==="false"){
365
					
365
 
366
					#設置執行不正常
366
					#設置執行不正常
367
					$result["status"]="false";
367
					$result["status"]="false";
368
				
368
 
369
					#程式停止執行
369
					#程式停止執行
370
					$result["error"]=$getEqualVar;
370
					$result["error"]=$getEqualVar;
371
					
371
 
372
					#回傳結果
372
					#回傳結果
373
					return $result;
373
					return $result;
374
					
374
 
375
					}#if end
375
					}#if end
376
					
376
 
377
				#如果有找到
377
				#如果有找到
378
				if($getEqualVar["founded"]==="true"){
378
				if($getEqualVar["founded"]==="true"){
379
					
379
 
380
					#設置第 $inputElementKey+1 個參數有找到
380
					#設置第 $inputElementKey+1 個參數有找到
381
					$result["founded"][$inputElementKey]="true";
381
					$result["founded"][$inputElementKey]="true";
382
					
382
 
383
					#設置找到的參數是在 $conf["blackBoxElement"] 參數的哪個key
383
					#設置找到的參數是在 $conf["blackBoxElement"] 參數的哪個key
384
					$result["key"][$inputElementKey]=$getEqualVar["equalVarName"];
384
					$result["key"][$inputElementKey]=$getEqualVar["equalVarName"];
385
					
385
 
386
					}#if end
386
					}#if end
387
				
387
 
388
				#反之	
388
				#反之
389
				else{
389
				else{
390
					
390
 
391
					#設置第 $inputElementKey+1 個參數找不到
391
					#設置第 $inputElementKey+1 個參數找不到
392
					$result["founded"][$inputElementKey]="false";
392
					$result["founded"][$inputElementKey]="false";
393
					
393
 
394
					}#else end
394
					}#else end
395
					
395
 
396
				}#foreach end
396
				}#foreach end
397
 
397
 
398
			}#if end
398
			}#if end
399
 
399
 
400
		#執行到這邊代表執行正常
400
		#執行到這邊代表執行正常
Line 430... Line 430...
430
	#無.
430
	#無.
431
	*/
431
	*/
432
	public static function getMeetConditionsString(&$conf){
432
	public static function getMeetConditionsString(&$conf){
433
 
433
 
434
		#初始化要回傳的結果
434
		#初始化要回傳的結果
435
		$result=array();	
435
		$result=array();
436
 
436
 
437
		#取得當前執行的函數名稱
437
		#取得當前執行的函數名稱
438
		$result["function"]=__FUNCTION__;
438
		$result["function"]=__FUNCTION__;
439
 
439
 
440
		#如果 $conf 不為陣列
440
		#如果 $conf 不為陣列
441
		if(gettype($conf)!="array"){
441
		if(gettype($conf)!="array"){
442
			
442
 
443
			#設置執行失敗
443
			#設置執行失敗
444
			$result["status"]="false";
444
			$result["status"]="false";
445
			
445
 
446
			#設置執行錯誤訊息
446
			#設置執行錯誤訊息
447
			$result["error"][]="\$conf變數須為陣列形態";
447
			$result["error"][]="\$conf變數須為陣列形態";
448
 
448
 
449
			#如果傳入的參數為 null
449
			#如果傳入的參數為 null
450
			if($conf==null){
450
			if($conf==null){
451
				
451
 
452
				#設置執行錯誤訊息
452
				#設置執行錯誤訊息
453
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
453
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
454
				
454
 
455
				}#if end
455
				}#if end
456
 
456
 
457
			#回傳結果
457
			#回傳結果
458
			return $result;
458
			return $result;
459
			
459
 
460
			}#if end
460
			}#if end
461
 
461
 
462
		#取得參數
462
		#取得參數
463
		$result["argu"]=$conf;
463
		$result["argu"]=$conf;
464
 
464
 
Line 490... Line 490...
490
		#$conf["canBeEmptyString"]="false";
490
		#$conf["canBeEmptyString"]="false";
491
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或集合.
491
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或集合.
492
		#$conf["skipableVariableCanNotBeEmpty"]=array();
492
		#$conf["skipableVariableCanNotBeEmpty"]=array();
493
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
493
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
494
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("frontWord","tailWord");
494
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("frontWord","tailWord");
495
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
495
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
496
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string");
496
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string");
497
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
497
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
498
		$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null);
498
		$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null);
499
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
499
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
500
		#$conf["arrayCountEqualCheck"][]=array();
500
		#$conf["arrayCountEqualCheck"][]=array();
Line 506... Line 506...
506
		#debug
506
		#debug
507
		#var_dump($checkArguments);
507
		#var_dump($checkArguments);
508
 
508
 
509
		# 如果 $checkArguments["status"] 為 "false"
509
		# 如果 $checkArguments["status"] 為 "false"
510
		if($checkArguments["status"]=="false"){
510
		if($checkArguments["status"]=="false"){
511
			
511
 
512
			#設置執行錯誤的識別
512
			#設置執行錯誤的識別
513
			$result["status"]="false";
513
			$result["status"]="false";
514
 
514
 
515
			#設置執行錯誤的訊息
515
			#設置執行錯誤的訊息
516
			$result["error"]=$checkArguments;
516
			$result["error"]=$checkArguments;
517
			
517
 
518
			#回傳結果
518
			#回傳結果
519
			return $result;
519
			return $result;
520
			
520
 
521
			}#if end
521
			}#if end
522
	
522
 
523
		# 如果 $checkArguments["passed"] 為 "false"
523
		# 如果 $checkArguments["passed"] 為 "false"
524
		if($checkArguments["passed"]=="false"){
524
		if($checkArguments["passed"]=="false"){
525
			
525
 
526
			#設置執行錯誤的識別
526
			#設置執行錯誤的識別
527
			$result["status"]="false";
527
			$result["status"]="false";
528
 
528
 
529
			#設置執行錯誤的訊息
529
			#設置執行錯誤的訊息
530
			$result["error"]=$checkArguments;
530
			$result["error"]=$checkArguments;
531
			
531
 
532
			#回傳結果
532
			#回傳結果
533
			return $result;
533
			return $result;
534
			
534
 
535
			}#if end
535
			}#if end
536
		
536
 
537
		#預設有找到一樣的字串
537
		#預設有找到一樣的字串
538
		$result["founded"]="true";
538
		$result["founded"]="true";
539
		
539
 
540
		#設置要回傳的字串
540
		#設置要回傳的字串
541
		$result["returnString"]=$conf["checkString"];
541
		$result["returnString"]=$conf["checkString"];
542
		
542
 
543
		#初始化移除字首字尾後的內容
543
		#初始化移除字首字尾後的內容
544
		$result["content"]=$result["returnString"];
544
		$result["content"]=$result["returnString"];
545
		
545
 
546
		#將要檢查的字串分割成一個個字的陣列字串
546
		#將要檢查的字串分割成一個個字的陣列字串
547
		$checkString=str_split($result["content"]);
547
		$checkString=str_split($result["content"]);
548
 
548
 
549
		#如果 $conf["frontWord"] 有設置
549
		#如果 $conf["frontWord"] 有設置
550
		if(isset($conf["frontWord"])){
550
		if(isset($conf["frontWord"])){
551
			
551
 
552
			#將用來檢查字首應該要有什麼字串的字串分割成一個個字的陣列字串
552
			#將用來檢查字首應該要有什麼字串的字串分割成一個個字的陣列字串
553
			$frontWord=str_split($conf["frontWord"]);
553
			$frontWord=str_split($conf["frontWord"]);
554
 
554
 
555
			#如果要尋找的字首長度大於要檢查的字串長度
555
			#如果要尋找的字首長度大於要檢查的字串長度
556
			if(count($frontWord)>count($checkString)){
556
			if(count($frontWord)>count($checkString)){
557
 
557
 
558
				#設置執行正常
558
				#設置執行正常
559
				$result["status"]="true";
559
				$result["status"]="true";
560
				
560
 
561
				#設置錯誤訊息
561
				#設置錯誤訊息
562
				$result["warning"][]="要尋找的字首(".$conf["frontWord"].")長度(".count($frontWord).")大於要檢查的字串(".$conf["checkString"].")長度(".count($checkString).")";
562
				$result["warning"][]="要尋找的字首(".$conf["frontWord"].")長度(".count($frontWord).")大於要檢查的字串(".$conf["checkString"].")長度(".count($checkString).")";
563
				
563
 
564
				#設置沒有找到一樣的字串
564
				#設置沒有找到一樣的字串
565
				$result["founded"]="false";
565
				$result["founded"]="false";
566
				
566
 
567
				#回傳結果
567
				#回傳結果
568
				return $result;
568
				return $result;
569
			
569
 
570
				}#if end
570
				}#if end
571
 
571
 
572
			#依據條件字首的長度來依序檢查
572
			#依據條件字首的長度來依序檢查
573
			for($i=0;$i<count($frontWord);$i++){
573
			for($i=0;$i<count($frontWord);$i++){
574
 
574
 
Line 588... Line 588...
588
					return $result;
588
					return $result;
589
 
589
 
590
					}#if end
590
					}#if end
591
 
591
 
592
				}#for end
592
				}#for end
593
				
593
 
594
			#剔除字首
594
			#剔除字首
595
			#函式說明:
595
			#函式說明:
596
			#將字串特定關鍵字與其前面的內容剔除
596
			#將字串特定關鍵字與其前面的內容剔除
597
			#回傳結果:
597
			#回傳結果:
598
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
598
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
599
			#$result["error"],錯誤訊息陣列.
599
			#$result["error"],錯誤訊息陣列.
600
			#$result["warning"],警告訊息鎮列.
600
			#$result["warning"],警告訊息鎮列.
601
			#$result["founded"],有無找到定字串"true"代表有,"false"代表沒有.
601
			#$result["founded"],有無找到定字串"true"代表有,"false"代表沒有.
602
			#$result["function"],當前執行的函數名稱.
602
			#$result["function"],當前執行的函數名稱.
603
			#$result["oriStr"],要處理的原始字串內容.
603
			#$result["oriStr"],要處理的原始字串內容.
604
			#$result["content"],處理好的的字串內容.	
604
			#$result["content"],處理好的的字串內容.
605
			#必填參數:
605
			#必填參數:
606
			#$conf["stringIn"],字串,要處理的字串.
606
			#$conf["stringIn"],字串,要處理的字串.
607
			$conf["stringProcess::delStrBeforeKeyWord"]["stringIn"]=$result["content"];
607
			$conf["stringProcess::delStrBeforeKeyWord"]["stringIn"]=$result["content"];
608
			#$conf["keyWord"],字串,特定字串.
608
			#$conf["keyWord"],字串,特定字串.
609
			$conf["stringProcess::delStrBeforeKeyWord"]["keyWord"]=$conf["frontWord"];
609
			$conf["stringProcess::delStrBeforeKeyWord"]["keyWord"]=$conf["frontWord"];
Line 614... Line 614...
614
			#無.
614
			#無.
615
			#備註:
615
			#備註:
616
			#無.
616
			#無.
617
			$delStrBeforeKeyWord=stringProcess::delStrBeforeKeyWord($conf["stringProcess::delStrBeforeKeyWord"]);
617
			$delStrBeforeKeyWord=stringProcess::delStrBeforeKeyWord($conf["stringProcess::delStrBeforeKeyWord"]);
618
			unset($conf["stringProcess::delStrBeforeKeyWord"]);
618
			unset($conf["stringProcess::delStrBeforeKeyWord"]);
619
		
619
 
620
			#debug
620
			#debug
621
			#var_dump($delStrBeforeKeyWord);
621
			#var_dump($delStrBeforeKeyWord);
622
		
622
 
623
			# 如果執行出錯
623
			# 如果執行出錯
624
			if($delStrBeforeKeyWord["status"]=="false"){
624
			if($delStrBeforeKeyWord["status"]=="false"){
625
				
625
 
626
				#設置執行錯誤的識別
626
				#設置執行錯誤的識別
627
				$result["status"]="false";
627
				$result["status"]="false";
628
 
628
 
629
				#設置執行錯誤的訊息
629
				#設置執行錯誤的訊息
630
				$result["error"]=$delStrBeforeKeyWord;
630
				$result["error"]=$delStrBeforeKeyWord;
631
				
631
 
632
				#回傳結果
632
				#回傳結果
633
				return $result;
633
				return $result;
634
				
634
 
635
				}#if end
635
				}#if end
636
			
636
 
637
			#剔除字首
637
			#剔除字首
638
			
638
 
639
			#函式說明:
639
			#函式說明:
640
			#將字串特定關鍵字與其前面的內容剔除
640
			#將字串特定關鍵字與其前面的內容剔除
641
			#回傳結果:
641
			#回傳結果:
642
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
642
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
643
			#$result["error"],錯誤訊息陣列.
643
			#$result["error"],錯誤訊息陣列.
644
			#$result["warning"],警告訊息鎮列.
644
			#$result["warning"],警告訊息鎮列.
645
			#$result["founded"],有無找到定字串"true"代表有,"false"代表沒有.
645
			#$result["founded"],有無找到定字串"true"代表有,"false"代表沒有.
646
			#$result["function"],當前執行的函數名稱.
646
			#$result["function"],當前執行的函數名稱.
647
			#$result["oriStr"],要處理的原始字串內容.
647
			#$result["oriStr"],要處理的原始字串內容.
648
			#$result["content"],處理好的的字串內容.	
648
			#$result["content"],處理好的的字串內容.
649
			#必填參數:
649
			#必填參數:
650
			#$conf["stringIn"],字串,要處理的字串.
650
			#$conf["stringIn"],字串,要處理的字串.
651
			$conf["stringProcess::delStrBeforeKeyWord"]["stringIn"]=$result["content"];
651
			$conf["stringProcess::delStrBeforeKeyWord"]["stringIn"]=$result["content"];
652
			#$conf["keyWord"],字串,特定字串.
652
			#$conf["keyWord"],字串,特定字串.
653
			$conf["stringProcess::delStrBeforeKeyWord"]["keyWord"]=$conf["frontWord"];
653
			$conf["stringProcess::delStrBeforeKeyWord"]["keyWord"]=$conf["frontWord"];
Line 658... Line 658...
658
			#無.
658
			#無.
659
			#備註:
659
			#備註:
660
			#無.
660
			#無.
661
			$delStrBeforeKeyWord=stringProcess::delStrBeforeKeyWord($conf["stringProcess::delStrBeforeKeyWord"]);
661
			$delStrBeforeKeyWord=stringProcess::delStrBeforeKeyWord($conf["stringProcess::delStrBeforeKeyWord"]);
662
			unset($conf["stringProcess::delStrBeforeKeyWord"]);
662
			unset($conf["stringProcess::delStrBeforeKeyWord"]);
663
		
663
 
664
			#debug
664
			#debug
665
			#var_dump($delStrBeforeKeyWord);
665
			#var_dump($delStrBeforeKeyWord);
666
		
666
 
667
			# 如果執行出錯
667
			# 如果執行出錯
668
			if($delStrBeforeKeyWord["status"]=="false"){
668
			if($delStrBeforeKeyWord["status"]=="false"){
669
				
669
 
670
				#設置執行錯誤的識別
670
				#設置執行錯誤的識別
671
				$result["status"]="false";
671
				$result["status"]="false";
672
 
672
 
673
				#設置執行錯誤的訊息
673
				#設置執行錯誤的訊息
674
				$result["error"]=$delStrBeforeKeyWord;
674
				$result["error"]=$delStrBeforeKeyWord;
675
				
675
 
676
				#回傳結果
676
				#回傳結果
677
				return $result;
677
				return $result;
678
				
678
 
679
				}#if end
679
				}#if end
680
				
680
 
681
			# 如果執行出錯
681
			# 如果執行出錯
682
			if($delStrBeforeKeyWord["founded"]==="false"){
682
			if($delStrBeforeKeyWord["founded"]==="false"){
683
				
683
 
684
				#設置執行錯誤的識別
684
				#設置執行錯誤的識別
685
				$result["status"]="false";
685
				$result["status"]="false";
686
 
686
 
687
				#設置執行錯誤的訊息
687
				#設置執行錯誤的訊息
688
				$result["error"]=$delStrBeforeKeyWord;
688
				$result["error"]=$delStrBeforeKeyWord;
689
				
689
 
690
				#回傳結果
690
				#回傳結果
691
				return $result;
691
				return $result;
692
				
692
 
693
				}#if end
693
				}#if end
694
			
694
 
695
			#取得處理好的內容
695
			#取得處理好的內容
696
			$result["content"]=$delStrBeforeKeyWord["content"];
696
			$result["content"]=$delStrBeforeKeyWord["content"];
697
			
697
 
698
			#更新要檢查的字串,將其分割成一個個字的陣列字串
698
			#更新要檢查的字串,將其分割成一個個字的陣列字串
699
			$checkString=str_split($result["content"]);
699
			$checkString=str_split($result["content"]);
700
			
700
 
701
			}#if end
701
			}#if end
702
 
702
 
703
		#如果 $conf["tailWord"] 有設置
703
		#如果 $conf["tailWord"] 有設置
704
		if(isset($conf["tailWord"])){
704
		if(isset($conf["tailWord"])){
705
			
705
 
706
			#debug
706
			#debug
707
			#var_dump($conf["tailWord"]);
707
			#var_dump($conf["tailWord"]);
708
			
708
 
709
			#將用來檢查字尾應該要有什麼字串的字串分割成一個個字的陣列字串
709
			#將用來檢查字尾應該要有什麼字串的字串分割成一個個字的陣列字串
710
			$tailWord=str_split($conf["tailWord"]);
710
			$tailWord=str_split($conf["tailWord"]);
711
 
711
 
712
			#如果要尋找的字尾長度大於要檢查的字串長度
712
			#如果要尋找的字尾長度大於要檢查的字串長度
713
			if(count($tailWord)>count($checkString)){
713
			if(count($tailWord)>count($checkString)){
714
 
714
 
715
				#設置執行正常
715
				#設置執行正常
716
				$result["status"]="true";
716
				$result["status"]="true";
717
				
717
 
718
				#設置錯誤訊息
718
				#設置錯誤訊息
719
				$result["warning"][]="要尋找的字尾(".$conf["tailWord"].")長度(".count($tailWord).")大於要檢查的字串(".$conf["checkString"].")長度(".count($checkString).")";
719
				$result["warning"][]="要尋找的字尾(".$conf["tailWord"].")長度(".count($tailWord).")大於要檢查的字串(".$conf["checkString"].")長度(".count($checkString).")";
720
				
720
 
721
				#設置沒有找到一樣的字串
721
				#設置沒有找到一樣的字串
722
				$result["founded"]="false";
722
				$result["founded"]="false";
723
				
723
 
724
				#回傳結果
724
				#回傳結果
725
				return $result;
725
				return $result;
726
			
726
 
727
				}#if end
727
				}#if end
728
 
728
 
729
			#依據條件字尾的長度來依序檢查
729
			#依據條件字尾的長度來依序檢查
730
			for($i=0;$i<count($tailWord);$i++){
730
			for($i=0;$i<count($tailWord);$i++){
731
 
731
 
Line 742... Line 742...
742
					return $result;
742
					return $result;
743
 
743
 
744
					}#if end
744
					}#if end
745
 
745
 
746
				}#for end
746
				}#for end
747
			
747
 
748
			#剔除字尾
748
			#剔除字尾
749
			
749
 
750
			#函式說明:
750
			#函式說明:
751
			#將字串特定關鍵字與其後面的內容剔除
751
			#將字串特定關鍵字與其後面的內容剔除
752
			#回傳結果:
752
			#回傳結果:
753
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
753
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
754
			#$result["error"],錯誤訊息陣列.
754
			#$result["error"],錯誤訊息陣列.
Line 770... Line 770...
770
			#無.
770
			#無.
771
			#備註:
771
			#備註:
772
			#無.
772
			#無.
773
			$delStrAfterKeyWord=stringProcess::delStrAfterKeyWord($conf["stringProcess::delStrAfterKeyWord"]);
773
			$delStrAfterKeyWord=stringProcess::delStrAfterKeyWord($conf["stringProcess::delStrAfterKeyWord"]);
774
			unset($conf["stringProcess::delStrAfterKeyWord"]);
774
			unset($conf["stringProcess::delStrAfterKeyWord"]);
775
		
775
 
776
			#debug
776
			#debug
777
			#var_dump(__LINE__,$delStrAfterKeyWord);
777
			#var_dump(__LINE__,$delStrAfterKeyWord);
778
		
778
 
779
			# 如果執行出錯
779
			# 如果執行出錯
780
			if($delStrAfterKeyWord["status"]==="false"){
780
			if($delStrAfterKeyWord["status"]==="false"){
781
				
781
 
782
				#設置執行錯誤的識別
782
				#設置執行錯誤的識別
783
				$result["status"]="false";
783
				$result["status"]="false";
784
 
784
 
785
				#設置執行錯誤的訊息
785
				#設置執行錯誤的訊息
786
				$result["error"]=$delStrAfterKeyWord;
786
				$result["error"]=$delStrAfterKeyWord;
787
				
787
 
788
				#回傳結果
788
				#回傳結果
789
				return $result;
789
				return $result;
790
				
790
 
791
				}#if end
791
				}#if end
792
			
792
 
793
			# 如果沒有符合的結果
793
			# 如果沒有符合的結果
794
			if($delStrAfterKeyWord["founded"]==="false"){
794
			if($delStrAfterKeyWord["founded"]==="false"){
795
				
795
 
796
				#設置執行錯誤的識別
796
				#設置執行錯誤的識別
797
				$result["status"]="true";
797
				$result["status"]="true";
798
 
798
 
799
				#設置執行錯誤的訊息
799
				#設置執行錯誤的訊息
800
				$result["error"]=$delStrAfterKeyWord;
800
				$result["error"]=$delStrAfterKeyWord;
801
				
801
 
802
				#回傳結果
802
				#回傳結果
803
				return $result;
803
				return $result;
804
				
804
 
805
				}#if end
805
				}#if end
806
			
806
 
807
			#取得處理好的內容
807
			#取得處理好的內容
808
			$result["content"]=$delStrAfterKeyWord["content"];
808
			$result["content"]=$delStrAfterKeyWord["content"];
809
			
809
 
810
			#更新要檢查的字串,將其分割成一個個字的陣列字串
810
			#更新要檢查的字串,將其分割成一個個字的陣列字串
811
			$checkString=str_split($result["content"]);
811
			$checkString=str_split($result["content"]);
812
			
812
 
813
			}#if end
813
			}#if end
814
 
814
 
815
		#通過以上檢測,設置結果成功。
815
		#通過以上檢測,設置結果成功。
816
		$result["status"]="true";
816
		$result["status"]="true";
817
		
817
 
818
		#回傳結果
818
		#回傳結果
819
		return $result;
819
		return $result;
820
 
820
 
821
		}#function getMeetConditionsString end
821
		}#function getMeetConditionsString end
822
 
822
 
Line 845... Line 845...
845
	*/
845
	*/
846
	public static function getMeetConditionsStringMulti(&$conf){
846
	public static function getMeetConditionsStringMulti(&$conf){
847
 
847
 
848
		#初始化要回傳的陣列
848
		#初始化要回傳的陣列
849
		$result=array();
849
		$result=array();
850
		
850
 
851
		#初始化要暫存的搜尋結果陣列
851
		#初始化要暫存的搜尋結果陣列
852
		$getMeetConditionsString=array();
852
		$getMeetConditionsString=array();
853
 
853
 
854
		#取得當前執行的函數名稱
854
		#取得當前執行的函數名稱
855
		$result["function"]=__FUNCTION__;
855
		$result["function"]=__FUNCTION__;
856
 
856
 
857
		#如果 $conf 不為陣列
857
		#如果 $conf 不為陣列
858
		if(gettype($conf)!="array"){
858
		if(gettype($conf)!="array"){
859
			
859
 
860
			#設置執行失敗
860
			#設置執行失敗
861
			$result["status"]="false";
861
			$result["status"]="false";
862
			
862
 
863
			#設置執行錯誤訊息
863
			#設置執行錯誤訊息
864
			$result["error"][]="\$conf變數須為陣列形態";
864
			$result["error"][]="\$conf變數須為陣列形態";
865
 
865
 
866
			#如果傳入的參數為 null
866
			#如果傳入的參數為 null
867
			if($conf==null){
867
			if($conf==null){
868
				
868
 
869
				#設置執行錯誤訊息
869
				#設置執行錯誤訊息
870
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
870
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
871
				
871
 
872
				}#if end
872
				}#if end
873
 
873
 
874
			#回傳結果
874
			#回傳結果
875
			return $result;
875
			return $result;
876
			
876
 
877
			}#if end
877
			}#if end
878
 
878
 
879
		#記錄使用的參數
879
		#記錄使用的參數
880
		$result["argu"]=$conf;
880
		$result["argu"]=$conf;
881
 
881
 
Line 907... Line 907...
907
		#$conf["canBeEmptyString"]="false";
907
		#$conf["canBeEmptyString"]="false";
908
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或集合.
908
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或集合.
909
		#$conf["skipableVariableCanNotBeEmpty"]=array();
909
		#$conf["skipableVariableCanNotBeEmpty"]=array();
910
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
910
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
911
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("frontWord","tailWord");
911
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("frontWord","tailWord");
912
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
912
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
913
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string");
913
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string");
914
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
914
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
915
		$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null);
915
		$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null);
916
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
916
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
917
		#$conf["arrayCountEqualCheck"][]=array();
917
		#$conf["arrayCountEqualCheck"][]=array();
Line 920... Line 920...
920
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
920
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
921
		unset($conf["variableCheck::checkArguments"]);
921
		unset($conf["variableCheck::checkArguments"]);
922
 
922
 
923
		# 如果 $checkArguments["status"] 為 "false"
923
		# 如果 $checkArguments["status"] 為 "false"
924
		if($checkArguments["status"]=="false"){
924
		if($checkArguments["status"]=="false"){
925
			
925
 
926
			#設置執行錯誤的識別
926
			#設置執行錯誤的識別
927
			$result["status"]="false";
927
			$result["status"]="false";
928
 
928
 
929
			#設置執行錯誤的訊息
929
			#設置執行錯誤的訊息
930
			$result["error"]=$checkArguments;
930
			$result["error"]=$checkArguments;
931
			
931
 
932
			#回傳結果
932
			#回傳結果
933
			return $result;
933
			return $result;
934
			
934
 
935
			}#if end
935
			}#if end
936
	
936
 
937
		# 如果 $checkArguments["passed"] 為 "false"
937
		# 如果 $checkArguments["passed"] 為 "false"
938
		if($checkArguments["passed"]=="false"){
938
		if($checkArguments["passed"]=="false"){
939
			
939
 
940
			#設置執行錯誤的識別
940
			#設置執行錯誤的識別
941
			$result["status"]="false";
941
			$result["status"]="false";
942
 
942
 
943
			#設置執行錯誤的訊息
943
			#設置執行錯誤的訊息
944
			$result["error"]=$checkArguments;
944
			$result["error"]=$checkArguments;
945
			
945
 
946
			#回傳結果
946
			#回傳結果
947
			return $result;
947
			return $result;
948
			
948
 
949
			}#if end
949
			}#if end
950
 
950
 
951
		#針對有幾個字串要檢查,就執行幾次
951
		#針對有幾個字串要檢查,就執行幾次
952
		for($i=0;$i<count($conf["checkString"]);$i++){
952
		for($i=0;$i<count($conf["checkString"]);$i++){
953
 
953
 
Line 961... Line 961...
961
			#$result["returnString"],爲符合字首條件的字串內容。
961
			#$result["returnString"],爲符合字首條件的字串內容。
962
			#必填參數:
962
			#必填參數:
963
			#$conf["checkString"],字串,要檢查的字串.
963
			#$conf["checkString"],字串,要檢查的字串.
964
			$conf["search::getMeetConditionsString"]["checkString"]=$conf["checkString"][$i];
964
			$conf["search::getMeetConditionsString"]["checkString"]=$conf["checkString"][$i];
965
			#可省略參數:
965
			#可省略參數:
966
			
966
 
967
			#如果 $conf["frontWord"] 存在
967
			#如果 $conf["frontWord"] 存在
968
			if(isset($conf["frontWord"])){
968
			if(isset($conf["frontWord"])){
969
				
969
 
970
				#$conf["frontWord"],字串,用來檢查字首應該要有什麼字串,預設不指定.
970
				#$conf["frontWord"],字串,用來檢查字首應該要有什麼字串,預設不指定.
971
				$conf["search::getMeetConditionsString"]["frontWord"]=$conf["frontWord"];
971
				$conf["search::getMeetConditionsString"]["frontWord"]=$conf["frontWord"];
972
								
972
 
973
				}#if end
973
				}#if end
974
			
974
 
975
			#如果 $conf["tailWord"] 存在
975
			#如果 $conf["tailWord"] 存在
976
			if(isset($conf["tailWord"])){
976
			if(isset($conf["tailWord"])){
977
				
977
 
978
				#$conf["tailWord"],字串,用來檢查字尾應該要有什麼字串,預設不指定.
978
				#$conf["tailWord"],字串,用來檢查字尾應該要有什麼字串,預設不指定.
979
				$conf["search::getMeetConditionsString"]["tailWord"]=$conf["tailWord"];
979
				$conf["search::getMeetConditionsString"]["tailWord"]=$conf["tailWord"];
980
								
980
 
981
				}#if end
981
				}#if end
982
			
982
 
983
			#參考資料:
983
			#參考資料:
984
			#str_spilt(),可以將字串依照字母分割成一個個陣列字串。
984
			#str_spilt(),可以將字串依照字母分割成一個個陣列字串。
985
			$getMeetConditionsString[]=search::getMeetConditionsString($conf["search::getMeetConditionsString"]);
985
			$getMeetConditionsString[]=search::getMeetConditionsString($conf["search::getMeetConditionsString"]);
986
			unset($conf["search::getMeetConditionsString"]);
986
			unset($conf["search::getMeetConditionsString"]);
987
															
987
 
988
			}#for end
988
			}#for end
989
 
989
 
990
		#初始化沒有找到關鍵字
990
		#初始化沒有找到關鍵字
991
		$result["founded"]="false";
991
		$result["founded"]="false";
992
 
992
 
993
		#將符合條件的結果陣列取出
993
		#將符合條件的結果陣列取出
994
		for($i=0;$i<count($getMeetConditionsString);$i++){
994
		for($i=0;$i<count($getMeetConditionsString);$i++){
995
 
995
 
996
			#如果尋找符合的字串失敗
996
			#如果尋找符合的字串失敗
997
			if($getMeetConditionsString[$i]["status"]=="false"){
997
			if($getMeetConditionsString[$i]["status"]=="false"){
998
				
998
 
999
				#如果錯誤是 "要尋找的字首長度大於要檢查的字串長度" 或 "要尋找的字尾長度大於要檢查的字串長度"
999
				#如果錯誤是 "要尋找的字首長度大於要檢查的字串長度" 或 "要尋找的字尾長度大於要檢查的字串長度"
1000
				if($getMeetConditionsString[$i]["error"][0]=="要尋找的字首長度大於要檢查的字串長度" || $getMeetConditionsString[$i]["error"][0]=="要尋找的字尾長度大於要檢查的字串長度"){
1000
				if($getMeetConditionsString[$i]["error"][0]=="要尋找的字首長度大於要檢查的字串長度" || $getMeetConditionsString[$i]["error"][0]=="要尋找的字尾長度大於要檢查的字串長度"){
1001
					
1001
 
1002
					#跳過執行正常,但不是我們要的結果
1002
					#跳過執行正常,但不是我們要的結果
1003
					continue;
1003
					continue;
1004
					
1004
 
1005
					}#if end					
1005
					}#if end
1006
				
1006
 
1007
				#設置執行錯誤的識別
1007
				#設置執行錯誤的識別
1008
				$result["status"]="false";
1008
				$result["status"]="false";
1009
	
1009
 
1010
				#設置執行錯誤的訊息
1010
				#設置執行錯誤的訊息
1011
				$result["error"]=$getMeetConditionsString[$i];
1011
				$result["error"]=$getMeetConditionsString[$i];
1012
				
1012
 
1013
				#回傳結果
1013
				#回傳結果
1014
				return $result;
1014
				return $result;
1015
				
1015
 
1016
				}#if end
1016
				}#if end
1017
 
1017
 
1018
			#如果有符合的字串
1018
			#如果有符合的字串
1019
			if($getMeetConditionsString[$i]["founded"]=="true"){
1019
			if($getMeetConditionsString[$i]["founded"]=="true"){
1020
 
1020
 
Line 1028... Line 1028...
1028
				$result["founded"]="true";
1028
				$result["founded"]="true";
1029
 
1029
 
1030
				}#if end
1030
				}#if end
1031
 
1031
 
1032
			}#for end
1032
			}#for end
1033
		
1033
 
1034
		#通過以上檢測,將執行狀態結果設爲 true
1034
		#通過以上檢測,將執行狀態結果設爲 true
1035
		$result["status"]="true";
1035
		$result["status"]="true";
1036
 
1036
 
1037
		#回傳結果
1037
		#回傳結果
1038
		return $result;
1038
		return $result;
1039
 
1039
 
1040
		}#function getMeetConditionsStringMulti end
1040
		}#function getMeetConditionsStringMulti end
1041
	
1041
 
1042
	/*
1042
	/*
1043
	#函式說明:
1043
	#函式說明:
1044
	#取得符合多個特定字首與字尾的字串
1044
	#取得符合多個特定字首與字尾的字串
1045
	#回傳結果:
1045
	#回傳結果:
1046
	#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
1046
	#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
Line 1062... Line 1062...
1062
	#無.
1062
	#無.
1063
	#備註:
1063
	#備註:
1064
	#無.
1064
	#無.
1065
	*/
1065
	*/
1066
	public static function getMeetMultiConditionsString(&$conf){
1066
	public static function getMeetMultiConditionsString(&$conf){
1067
	
1067
 
1068
		#初始化要回傳的陣列
1068
		#初始化要回傳的陣列
1069
		$result=array();
1069
		$result=array();
1070
		
1070
 
1071
		#初始化要暫存的搜尋結果陣列
1071
		#初始化要暫存的搜尋結果陣列
1072
		$getMeetConditionsString=array();
1072
		$getMeetConditionsString=array();
1073
 
1073
 
1074
		#取得當前執行的函數名稱
1074
		#取得當前執行的函數名稱
1075
		$result["function"]=__FUNCTION__;
1075
		$result["function"]=__FUNCTION__;
1076
 
1076
 
1077
		#如果 $conf 不為陣列
1077
		#如果 $conf 不為陣列
1078
		if(gettype($conf)!="array"){
1078
		if(gettype($conf)!="array"){
1079
			
1079
 
1080
			#設置執行失敗
1080
			#設置執行失敗
1081
			$result["status"]="false";
1081
			$result["status"]="false";
1082
			
1082
 
1083
			#設置執行錯誤訊息
1083
			#設置執行錯誤訊息
1084
			$result["error"][]="\$conf變數須為陣列形態";
1084
			$result["error"][]="\$conf變數須為陣列形態";
1085
 
1085
 
1086
			#如果傳入的參數為 null
1086
			#如果傳入的參數為 null
1087
			if($conf==null){
1087
			if($conf==null){
1088
				
1088
 
1089
				#設置執行錯誤訊息
1089
				#設置執行錯誤訊息
1090
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
1090
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
1091
				
1091
 
1092
				}#if end
1092
				}#if end
1093
 
1093
 
1094
			#回傳結果
1094
			#回傳結果
1095
			return $result;
1095
			return $result;
1096
			
1096
 
1097
			}#if end
1097
			}#if end
1098
 
1098
 
1099
		#記錄使用的參數
1099
		#記錄使用的參數
1100
		$result["argu"]=$conf;
1100
		$result["argu"]=$conf;
1101
 
1101
 
Line 1127... Line 1127...
1127
		#$conf["canBeEmptyString"]="false";
1127
		#$conf["canBeEmptyString"]="false";
1128
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或集合.
1128
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或集合.
1129
		#$conf["skipableVariableCanNotBeEmpty"]=array();
1129
		#$conf["skipableVariableCanNotBeEmpty"]=array();
1130
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
1130
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
1131
		#$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("keyWord");
1131
		#$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("keyWord");
1132
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
1132
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
1133
		#$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("array");
1133
		#$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("array");
1134
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
1134
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
1135
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null);
1135
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null);
1136
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
1136
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
1137
		#$conf["arrayCountEqualCheck"][]=array();
1137
		#$conf["arrayCountEqualCheck"][]=array();
Line 1140... Line 1140...
1140
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
1140
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
1141
		unset($conf["variableCheck::checkArguments"]);
1141
		unset($conf["variableCheck::checkArguments"]);
1142
 
1142
 
1143
		# 如果 $checkArguments["status"] 為 "false"
1143
		# 如果 $checkArguments["status"] 為 "false"
1144
		if($checkArguments["status"]==="false"){
1144
		if($checkArguments["status"]==="false"){
1145
			
1145
 
1146
			#設置執行錯誤的識別
1146
			#設置執行錯誤的識別
1147
			$result["status"]="false";
1147
			$result["status"]="false";
1148
 
1148
 
1149
			#設置執行錯誤的訊息
1149
			#設置執行錯誤的訊息
1150
			$result["error"]=$checkArguments;
1150
			$result["error"]=$checkArguments;
1151
			
1151
 
1152
			#回傳結果
1152
			#回傳結果
1153
			return $result;
1153
			return $result;
1154
			
1154
 
1155
			}#if end
1155
			}#if end
1156
	
1156
 
1157
		# 如果 $checkArguments["passed"] 為 "false"
1157
		# 如果 $checkArguments["passed"] 為 "false"
1158
		if($checkArguments["passed"]==="false"){
1158
		if($checkArguments["passed"]==="false"){
1159
			
1159
 
1160
			#設置執行錯誤的識別
1160
			#設置執行錯誤的識別
1161
			$result["status"]="false";
1161
			$result["status"]="false";
1162
 
1162
 
1163
			#設置執行錯誤的訊息
1163
			#設置執行錯誤的訊息
1164
			$result["error"]=$checkArguments;
1164
			$result["error"]=$checkArguments;
1165
			
1165
 
1166
			#回傳結果
1166
			#回傳結果
1167
			return $result;
1167
			return $result;
1168
			
1168
 
1169
			}#if end
1169
			}#if end
1170
	
1170
 
1171
		#針對每個可能的條件組合
1171
		#針對每個可能的條件組合
1172
		foreach($conf["keyWord"] as $keyWords){
1172
		foreach($conf["keyWord"] as $keyWords){
1173
		
1173
 
1174
			#檢查 $keyWords 是否有符合的元素
1174
			#檢查 $keyWords 是否有符合的元素
1175
			#函式說明:
1175
			#函式說明:
1176
			#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
1176
			#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
1177
			#回傳結果:
1177
			#回傳結果:
1178
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1178
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 1227... Line 1227...
1227
			$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
1227
			$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
1228
			unset($conf["variableCheck::checkArguments"]);
1228
			unset($conf["variableCheck::checkArguments"]);
1229
 
1229
 
1230
			# 如果 $checkArguments["status"] 為 "false"
1230
			# 如果 $checkArguments["status"] 為 "false"
1231
			if($checkArguments["status"]==="false"){
1231
			if($checkArguments["status"]==="false"){
1232
				
1232
 
1233
				#設置執行錯誤的識別
1233
				#設置執行錯誤的識別
1234
				$result["status"]="false";
1234
				$result["status"]="false";
1235
 
1235
 
1236
				#設置執行錯誤的訊息
1236
				#設置執行錯誤的訊息
1237
				$result["error"]=$checkArguments;
1237
				$result["error"]=$checkArguments;
1238
				
1238
 
1239
				#回傳結果
1239
				#回傳結果
1240
				return $result;
1240
				return $result;
1241
				
1241
 
1242
				}#if end
1242
				}#if end
1243
		
1243
 
1244
			# 如果 $checkArguments["passed"] 為 "false"
1244
			# 如果 $checkArguments["passed"] 為 "false"
1245
			if($checkArguments["passed"]==="false"){
1245
			if($checkArguments["passed"]==="false"){
1246
				
1246
 
1247
				#設置執行錯誤的識別
1247
				#設置執行錯誤的識別
1248
				$result["status"]="false";
1248
				$result["status"]="false";
1249
 
1249
 
1250
				#設置執行錯誤的訊息
1250
				#設置執行錯誤的訊息
1251
				$result["error"]=$checkArguments;
1251
				$result["error"]=$checkArguments;
1252
				
1252
 
1253
				#回傳結果
1253
				#回傳結果
1254
				return $result;
1254
				return $result;
1255
				
1255
 
1256
				}#if end
1256
				}#if end
1257
		
1257
 
1258
			#函式說明:
1258
			#函式說明:
1259
			#取得符合特定字首與字尾的字串
1259
			#取得符合特定字首與字尾的字串
1260
			#回傳結果:
1260
			#回傳結果:
1261
			#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
1261
			#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
1262
			#$result["function"],當前執行的函數名稱.
1262
			#$result["function"],當前執行的函數名稱.
Line 1267... Line 1267...
1267
			#$result["argu"],使用的參數.
1267
			#$result["argu"],使用的參數.
1268
			#必填參數:
1268
			#必填參數:
1269
			#$conf["checkString"],字串,要檢查的字串.
1269
			#$conf["checkString"],字串,要檢查的字串.
1270
			$conf["search::getMeetConditionsString"]["checkString"]=$conf["checkString"];
1270
			$conf["search::getMeetConditionsString"]["checkString"]=$conf["checkString"];
1271
			#可省略參數:
1271
			#可省略參數:
1272
			
1272
 
1273
			#如果有設置開頭關鍵字
1273
			#如果有設置開頭關鍵字
1274
			if(isset($keyWords["front"])){
1274
			if(isset($keyWords["front"])){
1275
			
1275
 
1276
				#$conf["frontWord"],字串,用來檢查字首應該要有什麼字串,預設不指定.
1276
				#$conf["frontWord"],字串,用來檢查字首應該要有什麼字串,預設不指定.
1277
				$conf["search::getMeetConditionsString"]["frontWord"]=$keyWords["front"];
1277
				$conf["search::getMeetConditionsString"]["frontWord"]=$keyWords["front"];
1278
			
1278
 
1279
				}#if end
1279
				}#if end
1280
				
1280
 
1281
			#如果有設置結尾關鍵字
1281
			#如果有設置結尾關鍵字
1282
			if(isset($keyWords["tail"])){
1282
			if(isset($keyWords["tail"])){
1283
			
1283
 
1284
				#$conf["tailWord"],字串,用來檢查字尾應該要有什麼字串,預設不指定.
1284
				#$conf["tailWord"],字串,用來檢查字尾應該要有什麼字串,預設不指定.
1285
				$conf["search::getMeetConditionsString"]["tailWord"]=$keyWords["tail"];
1285
				$conf["search::getMeetConditionsString"]["tailWord"]=$keyWords["tail"];
1286
			
1286
 
1287
				}#if end
1287
				}#if end
1288
			
1288
 
1289
			#參考資料:
1289
			#參考資料:
1290
			#str_spilt(),可以將字串依照字母分割成一個個陣列字串。
1290
			#str_spilt(),可以將字串依照字母分割成一個個陣列字串。
1291
			#備註:
1291
			#備註:
1292
			#無.
1292
			#無.
1293
			$getMeetConditionsString=search::getMeetConditionsString($conf["search::getMeetConditionsString"]);
1293
			$getMeetConditionsString=search::getMeetConditionsString($conf["search::getMeetConditionsString"]);
1294
			unset($conf["search::getMeetConditionsString"]);
1294
			unset($conf["search::getMeetConditionsString"]);
1295
		
1295
 
1296
			#如果執行失敗
1296
			#如果執行失敗
1297
			if($getMeetConditionsString["status"]==="false"){
1297
			if($getMeetConditionsString["status"]==="false"){
1298
			
1298
 
1299
				#設置執行錯誤的識別
1299
				#設置執行錯誤的識別
1300
				$result["status"]="false";
1300
				$result["status"]="false";
1301
 
1301
 
1302
				#設置執行錯誤的訊息
1302
				#設置執行錯誤的訊息
1303
				$result["error"]=$getMeetConditionsString;
1303
				$result["error"]=$getMeetConditionsString;
1304
				
1304
 
1305
				#回傳結果
1305
				#回傳結果
1306
				return $result;
1306
				return $result;
1307
			
1307
 
1308
				}#if end
1308
				}#if end
1309
				
1309
 
1310
			#如果沒有符合條件
1310
			#如果沒有符合條件
1311
			if($getMeetConditionsString["founded"]==="false"){
1311
			if($getMeetConditionsString["founded"]==="false"){
1312
			
1312
 
1313
				#換下一個條件
1313
				#換下一個條件
1314
				continue;
1314
				continue;
1315
			
1315
 
1316
				}#if end
1316
				}#if end
1317
		
1317
 
1318
			#設置有找到符合字首條件的結果
1318
			#設置有找到符合字首條件的結果
1319
			$result["founded"]=$getMeetConditionsString["founded"];	
1319
			$result["founded"]=$getMeetConditionsString["founded"];
1320
				
1320
 
1321
			#設置符合條件的字串,去掉字首字尾後的結果.
1321
			#設置符合條件的字串,去掉字首字尾後的結果.
1322
			$result["content"]=$getMeetConditionsString["content"];
1322
			$result["content"]=$getMeetConditionsString["content"];
1323
			
1323
 
1324
			#設置符合字首字尾條件的字串內容。
1324
			#設置符合字首字尾條件的字串內容。
1325
			$result["returnString"]=$getMeetConditionsString["returnString"];
1325
			$result["returnString"]=$getMeetConditionsString["returnString"];
1326
			
1326
 
1327
			#設置符合的關鍵字條件
1327
			#設置符合的關鍵字條件
1328
			$result["meetConditions"]=$keyWords;
1328
			$result["meetConditions"]=$keyWords;
1329
			
1329
 
1330
			#設置執行正常
1330
			#設置執行正常
1331
			$result["status"]="true";
1331
			$result["status"]="true";
1332
			
1332
 
1333
			#回傳結果
1333
			#回傳結果
1334
			return $result;
1334
			return $result;
1335
		
1335
 
1336
			}#foreach end
1336
			}#foreach end
1337
	
1337
 
1338
		#設置沒有找到符合字首條件的結果
1338
		#設置沒有找到符合字首條件的結果
1339
		$result["founded"]="false";
1339
		$result["founded"]="false";
1340
		
1340
 
1341
		#設置執行正常
1341
		#設置執行正常
1342
		$result["status"]="true";
1342
		$result["status"]="true";
1343
		
1343
 
1344
		#回傳結果
1344
		#回傳結果
1345
		return $result;
1345
		return $result;
1346
	
1346
 
1347
		}#function getMeetMultiConditionsString end
1347
		}#function getMeetMultiConditionsString end
1348
	
1348
 
1349
	/*
1349
	/*
1350
	#函式說明:
1350
	#函式說明:
1351
	#取得符合多個特定字首與字尾之一的字串們
1351
	#取得符合多個特定字首與字尾之一的字串們
1352
	#回傳結果:
1352
	#回傳結果:
1353
	#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
1353
	#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
Line 1367... Line 1367...
1367
	#無.
1367
	#無.
1368
	#備註:
1368
	#備註:
1369
	#無.
1369
	#無.
1370
	*/
1370
	*/
1371
	public static function getMeetMultiConditionsStrings(&$conf){
1371
	public static function getMeetMultiConditionsStrings(&$conf){
1372
	
1372
 
1373
		#初始化要回傳的陣列
1373
		#初始化要回傳的陣列
1374
		$result=array();
1374
		$result=array();
1375
		
1375
 
1376
		#初始化要暫存的搜尋結果陣列
1376
		#初始化要暫存的搜尋結果陣列
1377
		$getMeetConditionsString=array();
1377
		$getMeetConditionsString=array();
1378
 
1378
 
1379
		#取得當前執行的函數名稱
1379
		#取得當前執行的函數名稱
1380
		$result["function"]=__FUNCTION__;
1380
		$result["function"]=__FUNCTION__;
1381
 
1381
 
1382
		#如果 $conf 不為陣列
1382
		#如果 $conf 不為陣列
1383
		if(gettype($conf)!="array"){
1383
		if(gettype($conf)!="array"){
1384
			
1384
 
1385
			#設置執行失敗
1385
			#設置執行失敗
1386
			$result["status"]="false";
1386
			$result["status"]="false";
1387
			
1387
 
1388
			#設置執行錯誤訊息
1388
			#設置執行錯誤訊息
1389
			$result["error"][]="\$conf變數須為陣列形態";
1389
			$result["error"][]="\$conf變數須為陣列形態";
1390
 
1390
 
1391
			#如果傳入的參數為 null
1391
			#如果傳入的參數為 null
1392
			if($conf===null){
1392
			if($conf===null){
1393
				
1393
 
1394
				#設置執行錯誤訊息
1394
				#設置執行錯誤訊息
1395
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
1395
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
1396
				
1396
 
1397
				}#if end
1397
				}#if end
1398
 
1398
 
1399
			#回傳結果
1399
			#回傳結果
1400
			return $result;
1400
			return $result;
1401
			
1401
 
1402
			}#if end
1402
			}#if end
1403
 
1403
 
1404
		#記錄使用的參數
1404
		#記錄使用的參數
1405
		$result["argu"]=$conf;
1405
		$result["argu"]=$conf;
1406
 
1406
 
Line 1432... Line 1432...
1432
		#$conf["canBeEmptyString"]="false";
1432
		#$conf["canBeEmptyString"]="false";
1433
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或集合.
1433
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或集合.
1434
		#$conf["skipableVariableCanNotBeEmpty"]=array();
1434
		#$conf["skipableVariableCanNotBeEmpty"]=array();
1435
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
1435
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
1436
		#$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("keyWord");
1436
		#$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("keyWord");
1437
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
1437
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
1438
		#$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("array");
1438
		#$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("array");
1439
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
1439
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
1440
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null);
1440
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null);
1441
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
1441
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
1442
		#$conf["arrayCountEqualCheck"][]=array();
1442
		#$conf["arrayCountEqualCheck"][]=array();
Line 1445... Line 1445...
1445
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
1445
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
1446
		unset($conf["variableCheck::checkArguments"]);
1446
		unset($conf["variableCheck::checkArguments"]);
1447
 
1447
 
1448
		# 如果 $checkArguments["status"] 為 "false"
1448
		# 如果 $checkArguments["status"] 為 "false"
1449
		if($checkArguments["status"]==="false"){
1449
		if($checkArguments["status"]==="false"){
1450
			
1450
 
1451
			#設置執行錯誤的識別
1451
			#設置執行錯誤的識別
1452
			$result["status"]="false";
1452
			$result["status"]="false";
1453
 
1453
 
1454
			#設置執行錯誤的訊息
1454
			#設置執行錯誤的訊息
1455
			$result["error"]=$checkArguments;
1455
			$result["error"]=$checkArguments;
1456
			
1456
 
1457
			#回傳結果
1457
			#回傳結果
1458
			return $result;
1458
			return $result;
1459
			
1459
 
1460
			}#if end
1460
			}#if end
1461
	
1461
 
1462
		# 如果 $checkArguments["passed"] 為 "false"
1462
		# 如果 $checkArguments["passed"] 為 "false"
1463
		if($checkArguments["passed"]==="false"){
1463
		if($checkArguments["passed"]==="false"){
1464
			
1464
 
1465
			#設置執行錯誤的識別
1465
			#設置執行錯誤的識別
1466
			$result["status"]="false";
1466
			$result["status"]="false";
1467
 
1467
 
1468
			#設置執行錯誤的訊息
1468
			#設置執行錯誤的訊息
1469
			$result["error"]=$checkArguments;
1469
			$result["error"]=$checkArguments;
1470
			
1470
 
1471
			#回傳結果
1471
			#回傳結果
1472
			return $result;
1472
			return $result;
1473
			
1473
 
1474
			}#if end
1474
			}#if end
1475
	
1475
 
1476
		#初始化有找到符合條件的結果陣列
1476
		#初始化有找到符合條件的結果陣列
1477
		$result["content"]=array();
1477
		$result["content"]=array();
1478
	
1478
 
1479
		#針對每個陣列字串
1479
		#針對每個陣列字串
1480
		foreach($conf["checkString"] as $lineStr){
1480
		foreach($conf["checkString"] as $lineStr){
1481
		
1481
 
1482
			#函式說明:
1482
			#函式說明:
1483
			#取得符合多個特定字首與字尾的字串
1483
			#取得符合多個特定字首與字尾的字串
1484
			#回傳結果:
1484
			#回傳結果:
1485
			#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
1485
			#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
1486
			#$result["function"],當前執行的函數名稱.
1486
			#$result["function"],當前執行的函數名稱.
Line 1501... Line 1501...
1501
			#無.
1501
			#無.
1502
			#備註:
1502
			#備註:
1503
			#無.
1503
			#無.
1504
			$getMeetMultiConditionsString=search::getMeetMultiConditionsString($conf["search::getMeetMultiConditionsString"]);
1504
			$getMeetMultiConditionsString=search::getMeetMultiConditionsString($conf["search::getMeetMultiConditionsString"]);
1505
			unset($conf["search::getMeetMultiConditionsString"]);
1505
			unset($conf["search::getMeetMultiConditionsString"]);
1506
		
1506
 
1507
			# 如果執行出錯
1507
			# 如果執行出錯
1508
			if($getMeetMultiConditionsString["status"]==="false"){
1508
			if($getMeetMultiConditionsString["status"]==="false"){
1509
				
1509
 
1510
				#設置執行錯誤的識別
1510
				#設置執行錯誤的識別
1511
				$result["status"]="false";
1511
				$result["status"]="false";
1512
 
1512
 
1513
				#設置執行錯誤的訊息
1513
				#設置執行錯誤的訊息
1514
				$result["error"]=$getMeetMultiConditionsString;
1514
				$result["error"]=$getMeetMultiConditionsString;
1515
				
1515
 
1516
				#回傳結果
1516
				#回傳結果
1517
				return $result;
1517
				return $result;
1518
				
1518
 
1519
				}#if end
1519
				}#if end
1520
		
1520
 
1521
			#如果有找到
1521
			#如果有找到
1522
			if($getMeetMultiConditionsString["founded"]==="true"){
1522
			if($getMeetMultiConditionsString["founded"]==="true"){
1523
				
1523
 
1524
				#設置結果元素
1524
				#設置結果元素
1525
				$result["content"][]=array("content"=>$getMeetMultiConditionsString["content"],"oriStr"=>$getMeetMultiConditionsString["returnString"],"meetConditions"=>$getMeetMultiConditionsString["meetConditions"]);
1525
				$result["content"][]=array("content"=>$getMeetMultiConditionsString["content"],"oriStr"=>$getMeetMultiConditionsString["returnString"],"meetConditions"=>$getMeetMultiConditionsString["meetConditions"]);
1526
				
1526
 
1527
				}#if end
1527
				}#if end
1528
			
1528
 
1529
			}#foreach end
1529
			}#foreach end
1530
			
1530
 
1531
		#預設沒有找到符合條件內容的識別
1531
		#預設沒有找到符合條件內容的識別
1532
		$result["found"]="false";
1532
		$result["found"]="false";
1533
			
1533
 
1534
		#如果有找到符合條件的結果
1534
		#如果有找到符合條件的結果
1535
		if(count($result["content"])>0){
1535
		if(count($result["content"])>0){
1536
		
1536
 
1537
			#設置有找到符合條件內容的識別
1537
			#設置有找到符合條件內容的識別
1538
			$result["found"]="true";
1538
			$result["found"]="true";
1539
		
1539
 
1540
			}#if end
1540
			}#if end
1541
			
1541
 
1542
		#設置執行正常
1542
		#設置執行正常
1543
		$result["status"]="true";
1543
		$result["status"]="true";
1544
		
1544
 
1545
		#回傳結果
1545
		#回傳結果
1546
		return $result;
1546
		return $result;
1547
	
1547
 
1548
		}#function getMeetMultiConditionsStrings end
1548
		}#function getMeetMultiConditionsStrings end
1549
	
1549
 
1550
	/*
1550
	/*
1551
	#函式說明:
1551
	#函式說明:
1552
	#檢查字串裡面有無指定的關鍵字
1552
	#檢查字串裡面有無指定的關鍵字
1553
	#回傳結果:
1553
	#回傳結果:
1554
	#$result["status"],"true"代表執行成功,"false"代表執行失敗。
1554
	#$result["status"],"true"代表執行成功,"false"代表執行失敗。
Line 1569... Line 1569...
1569
	#無.
1569
	#無.
1570
	#備註:
1570
	#備註:
1571
	#無.
1571
	#無.
1572
	*/
1572
	*/
1573
	public static function findKeyWord(&$conf){
1573
	public static function findKeyWord(&$conf){
1574
			
1574
 
1575
		#初始化要回傳的變數
1575
		#初始化要回傳的變數
1576
		$result=array();
1576
		$result=array();
1577
				
1577
 
1578
		#設置當前執行的函數
1578
		#設置當前執行的函數
1579
		$result["function"]=__FUNCTION__;		
1579
		$result["function"]=__FUNCTION__;
1580
				
1580
 
1581
		#如果 $conf 不為陣列
1581
		#如果 $conf 不為陣列
1582
		if(gettype($conf)!="array"){
1582
		if(gettype($conf)!="array"){
1583
			
1583
 
1584
			#設置執行失敗
1584
			#設置執行失敗
1585
			$result["status"]="false";
1585
			$result["status"]="false";
1586
			
1586
 
1587
			#設置執行錯誤訊息
1587
			#設置執行錯誤訊息
1588
			$result["error"][]="\$conf變數須為陣列形態";
1588
			$result["error"][]="\$conf變數須為陣列形態";
1589
 
1589
 
1590
			#如果傳入的參數為 null
1590
			#如果傳入的參數為 null
1591
			if($conf==null){
1591
			if($conf==null){
1592
				
1592
 
1593
				#設置執行錯誤訊息
1593
				#設置執行錯誤訊息
1594
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
1594
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
1595
				
1595
 
1596
				}#if end
1596
				}#if end
1597
 
1597
 
1598
			#回傳結果
1598
			#回傳結果
1599
			return $result;
1599
			return $result;
1600
			
1600
 
1601
			}#if end			
1601
			}#if end
1602
		
1602
 
1603
		#取得參數
1603
		#取得參數
1604
		$result["argu"]=$conf;
1604
		$result["argu"]=$conf;
1605
		
1605
 
1606
		#檢查參數
1606
		#檢查參數
1607
		#函式說明:
1607
		#函式說明:
1608
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
1608
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
1609
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1609
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1610
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
1610
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
Line 1616... Line 1616...
1616
		#必填寫的參數:
1616
		#必填寫的參數:
1617
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
1617
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
1618
		$conf["variableCheck.checkArguments"]["varInput"]=&$conf;
1618
		$conf["variableCheck.checkArguments"]["varInput"]=&$conf;
1619
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
1619
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
1620
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableName"]=array("keyWord","string");
1620
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableName"]=array("keyWord","string");
1621
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
1621
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double");
1622
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableType"]=array("string","string");
1622
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableType"]=array("string","string");
1623
		#$conf["variableCheck::checkArguments"]["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
1623
		#$conf["variableCheck::checkArguments"]["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
1624
		$conf["variableCheck.checkArguments"]["referenceVarKey"]="variableCheck.checkArguments";
1624
		$conf["variableCheck.checkArguments"]["referenceVarKey"]="variableCheck.checkArguments";
1625
		#可以省略的參數:
1625
		#可以省略的參數:
1626
		#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
1626
		#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
1627
		$conf["variableCheck.checkArguments"]["canBeEmptyString"]="true";
1627
		$conf["variableCheck.checkArguments"]["canBeEmptyString"]="true";
1628
		#$conf["variableCheck.checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
1628
		#$conf["variableCheck.checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
1629
		$conf["variableCheck.checkArguments"]["skipableVariableName"]=array("completeEqual");
1629
		$conf["variableCheck.checkArguments"]["skipableVariableName"]=array("completeEqual");
1630
		#$conf["variableCheck.checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
1630
		#$conf["variableCheck.checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
1631
		$conf["variableCheck.checkArguments"]["skipableVariableType"]=array("string");
1631
		$conf["variableCheck.checkArguments"]["skipableVariableType"]=array("string");
1632
		#$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定.
1632
		#$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定.
1633
		$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"]=array("false");
1633
		$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"]=array("false");
1634
		$checkResult=variableCheck::checkArguments($conf["variableCheck.checkArguments"]);			
1634
		$checkResult=variableCheck::checkArguments($conf["variableCheck.checkArguments"]);
1635
		unset($conf["variableCheck.checkArguments"]);
1635
		unset($conf["variableCheck.checkArguments"]);
1636
 
1636
 
1637
		#如果檢查失敗
1637
		#如果檢查失敗
1638
		if($checkResult["status"]=="false"){
1638
		if($checkResult["status"]=="false"){
1639
			
1639
 
1640
			#設置執行不正常
1640
			#設置執行不正常
1641
			$result["status"]="false";
1641
			$result["status"]="false";
1642
		
1642
 
1643
			#程式停止執行
1643
			#程式停止執行
1644
			$result["error"]=$checkResult;
1644
			$result["error"]=$checkResult;
1645
			
1645
 
1646
			#回傳結果
1646
			#回傳結果
1647
			return $result;
1647
			return $result;
1648
			
1648
 
1649
			}#if end
1649
			}#if end
1650
			
1650
 
1651
		#如果檢查不通過
1651
		#如果檢查不通過
1652
		if($checkResult["passed"]=="false"){
1652
		if($checkResult["passed"]=="false"){
1653
			
1653
 
1654
			#設置執行不正常
1654
			#設置執行不正常
1655
			$result["status"]="false";
1655
			$result["status"]="false";
1656
		
1656
 
1657
			#程式停止執行
1657
			#程式停止執行
1658
			$result["error"]=$checkResult;
1658
			$result["error"]=$checkResult;
1659
			
1659
 
1660
			#回傳結果
1660
			#回傳結果
1661
			return $result;
1661
			return $result;
1662
			
1662
 
1663
			}#if end
1663
			}#if end
1664
		
1664
 
1665
		#如果是空字串
1665
		#如果是空字串
1666
		if($conf["string"]===""){
1666
		if($conf["string"]===""){
1667
		
1667
 
1668
			$keyWordCount=0;
1668
			$keyWordCount=0;
1669
		
1669
 
1670
			}#if end
1670
			}#if end
1671
		
1671
 
1672
		#反之
1672
		#反之
1673
		else{
1673
		else{
1674
			#取得目標字串裡符合關鍵字的數目	
1674
			#取得目標字串裡符合關鍵字的數目
1675
			$keyWordCount = substr_count($conf["string"],$conf["keyWord"]); 
1675
			$keyWordCount = substr_count($conf["string"],$conf["keyWord"]);
1676
		
1676
 
1677
			}#else end
1677
			}#else end
1678
			
1678
 
1679
		#儲存關鍵字的數量
1679
		#儲存關鍵字的數量
1680
		$result["keyWordCount"]=$keyWordCount;
1680
		$result["keyWordCount"]=$keyWordCount;
1681
			
1681
 
1682
		#如果有關鍵字在裡面
1682
		#如果有關鍵字在裡面
1683
		if($keyWordCount>0){
1683
		if($keyWordCount>0){
1684
				
1684
 
1685
			#如果 $conf["completeEqual"] 為 "true"
1685
			#如果 $conf["completeEqual"] 為 "true"
1686
			if($conf["completeEqual"]=="true"){
1686
			if($conf["completeEqual"]=="true"){
1687
					
1687
 
1688
				#函式說明:
1688
				#函式說明:
1689
				#處理字串避免網頁出錯
1689
				#處理字串避免網頁出錯
1690
				#回傳結果:
1690
				#回傳結果:
1691
				#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1691
				#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1692
				#$result["function"],當前執行的函數.
1692
				#$result["function"],當前執行的函數.
Line 1698... Line 1698...
1698
				$conf["stringProcess"]["correctCharacter"]["selectedCharacter"]=array($conf["keyWord"]);#爲被選擇要處理的字串/字元,須爲陣列值。
1698
				$conf["stringProcess"]["correctCharacter"]["selectedCharacter"]=array($conf["keyWord"]);#爲被選擇要處理的字串/字元,須爲陣列值。
1699
					#若不設定則預設爲要將這些字串作替換("<" ">" ";" "=" "//" "'" "$" "%" "&" "|" "#" "/*" "*\/")。
1699
					#若不設定則預設爲要將這些字串作替換("<" ">" ";" "=" "//" "'" "$" "%" "&" "|" "#" "/*" "*\/")。
1700
				$conf["stringProcess"]["correctCharacter"]["changeTo"]=array("");#爲被選擇的字元要換成什麼字串/字元,須爲陣列值。若不設定,則預設爲更換成""(空字串)。
1700
				$conf["stringProcess"]["correctCharacter"]["changeTo"]=array("");#爲被選擇的字元要換成什麼字串/字元,須爲陣列值。若不設定,則預設爲更換成""(空字串)。
1701
				$processedString=stringProcess::correctCharacter($conf["stringProcess"]["correctCharacter"]);
1701
				$processedString=stringProcess::correctCharacter($conf["stringProcess"]["correctCharacter"]);
1702
				unset($conf["stringProcess"]["correctCharacter"]);
1702
				unset($conf["stringProcess"]["correctCharacter"]);
1703
							
1703
 
1704
				#如果處理字串失敗
1704
				#如果處理字串失敗
1705
				if($processedString["status"]=="false"){
1705
				if($processedString["status"]=="false"){
1706
					
1706
 
1707
					#設置執行不正常
1707
					#設置執行不正常
1708
					$result["status"]="false";
1708
					$result["status"]="false";
1709
				
1709
 
1710
					#程式停止執行
1710
					#程式停止執行
1711
					$result["error"]=$processedString;
1711
					$result["error"]=$processedString;
1712
					
1712
 
1713
					#回傳結果
1713
					#回傳結果
1714
					return $result;
1714
					return $result;
1715
					
1715
 
1716
					}#if end			
1716
					}#if end
1717
									
1717
 
1718
				#如果拿掉關鍵字後,仍然有剩餘的容
1718
				#如果拿掉關鍵字後,仍然有剩餘的容
1719
				if($processedString["content"]!=""){
1719
				if($processedString["content"]!=""){
1720
						
1720
 
1721
					#代表並不是完全符合
1721
					#代表並不是完全符合
1722
					#設置執行成功
1722
					#設置執行成功
1723
					$result["status"]="true";
1723
					$result["status"]="true";
1724
					
1724
 
1725
					#設置沒有找到完全符合的關鍵字
1725
					#設置沒有找到完全符合的關鍵字
1726
					$result["founded"]="false";
1726
					$result["founded"]="false";
1727
						
1727
 
1728
					#回傳結果
1728
					#回傳結果
1729
					return $result;
1729
					return $result;
1730
						
1730
 
1731
					}#if end
1731
					}#if end
1732
											
1732
 
1733
				}#if end
1733
				}#if end
1734
				
1734
 
1735
			#設置執行成功
1735
			#設置執行成功
1736
			$result["status"]="true";
1736
			$result["status"]="true";
1737
			
1737
 
1738
			#設置有找到關鍵字
1738
			#設置有找到關鍵字
1739
			$result["founded"]="true";
1739
			$result["founded"]="true";
1740
				
1740
 
1741
			#回傳結果
1741
			#回傳結果
1742
			return $result;
1742
			return $result;
1743
				
1743
 
1744
			}#if end
1744
			}#if end
1745
				
1745
 
1746
		#反之
1746
		#反之
1747
		else{
1747
		else{
1748
				
1748
 
1749
			#設置執行成功
1749
			#設置執行成功
1750
			$result["status"]="true";
1750
			$result["status"]="true";
1751
			
1751
 
1752
			#設置沒有找到關鍵字
1752
			#設置沒有找到關鍵字
1753
			$result["founded"]="false";
1753
			$result["founded"]="false";
1754
				
1754
 
1755
			#回傳結果
1755
			#回傳結果
1756
			return $result;
1756
			return $result;
1757
				
1757
 
1758
			}#else end
1758
			}#else end
1759
			
1759
 
1760
		}#function findKeyWord end
1760
		}#function findKeyWord end
1761
		
1761
 
1762
	/*	
1762
	/*
1763
	#函式說明:
1763
	#函式說明:
1764
	#檢查一個字串裡面是否有多個關鍵字
1764
	#檢查一個字串裡面是否有多個關鍵字
1765
	#回傳結果:
1765
	#回傳結果:
1766
	#$result["status"],"true"代表執行成功,"false"代表執行失敗.
1766
	#$result["status"],"true"代表執行成功,"false"代表執行失敗.
1767
	#$result["error"],錯誤訊息.
1767
	#$result["error"],錯誤訊息.
Line 1782... Line 1782...
1782
	#無.
1782
	#無.
1783
	#備註:
1783
	#備註:
1784
	#無.
1784
	#無.
1785
	*/
1785
	*/
1786
	public static function findManyKeyWords(&$conf){
1786
	public static function findManyKeyWords(&$conf){
1787
		
1787
 
1788
		#初始化要回傳的變數
1788
		#初始化要回傳的變數
1789
		$result=array();
1789
		$result=array();
1790
				
1790
 
1791
		#設置當前執行的函數
1791
		#設置當前執行的函數
1792
		$result["function"]=__FUNCTION__;		
1792
		$result["function"]=__FUNCTION__;
1793
				
1793
 
1794
		#如果 $conf 不為陣列
1794
		#如果 $conf 不為陣列
1795
		if(gettype($conf)!="array"){
1795
		if(gettype($conf)!="array"){
1796
			
1796
 
1797
			#設置執行失敗
1797
			#設置執行失敗
1798
			$result["status"]="false";
1798
			$result["status"]="false";
1799
			
1799
 
1800
			#設置執行錯誤訊息
1800
			#設置執行錯誤訊息
1801
			$result["error"][]="\$conf變數須為陣列形態";
1801
			$result["error"][]="\$conf變數須為陣列形態";
1802
 
1802
 
1803
			#如果傳入的參數為 null
1803
			#如果傳入的參數為 null
1804
			if($conf==null){
1804
			if($conf==null){
1805
				
1805
 
1806
				#設置執行錯誤訊息
1806
				#設置執行錯誤訊息
1807
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
1807
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
1808
				
1808
 
1809
				}#if end
1809
				}#if end
1810
 
1810
 
1811
			#回傳結果
1811
			#回傳結果
1812
			return $result;
1812
			return $result;
1813
			
1813
 
1814
			}#if end			
1814
			}#if end
1815
		
1815
 
1816
		#取得使用的參數
1816
		#取得使用的參數
1817
		$result["argu"]=$conf;
1817
		$result["argu"]=$conf;
1818
		
1818
 
1819
		#檢查參數
1819
		#檢查參數
1820
		#函式說明:
1820
		#函式說明:
1821
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
1821
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
1822
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1822
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1823
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
1823
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
Line 1829... Line 1829...
1829
		#必填寫的參數:
1829
		#必填寫的參數:
1830
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
1830
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
1831
		$conf["variableCheck.checkArguments"]["varInput"]=&$conf;
1831
		$conf["variableCheck.checkArguments"]["varInput"]=&$conf;
1832
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
1832
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
1833
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableName"]=array("keyWords","string");
1833
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableName"]=array("keyWords","string");
1834
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
1834
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double");
1835
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableType"]=array("array","string");
1835
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableType"]=array("array","string");
1836
		#$conf["variableCheck::checkArguments"]["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
1836
		#$conf["variableCheck::checkArguments"]["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
1837
		$conf["variableCheck.checkArguments"]["referenceVarKey"]="variableCheck.checkArguments";
1837
		$conf["variableCheck.checkArguments"]["referenceVarKey"]="variableCheck.checkArguments";
1838
		#可以省略的參數:
1838
		#可以省略的參數:
1839
		#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
1839
		#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
1840
		#$conf["canBeEmptyString"]="false";
1840
		#$conf["canBeEmptyString"]="false";
1841
		#$conf["variableCheck.checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
1841
		#$conf["variableCheck.checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
1842
		$conf["variableCheck.checkArguments"]["skipableVariableName"]=array("completeEqual");
1842
		$conf["variableCheck.checkArguments"]["skipableVariableName"]=array("completeEqual");
1843
		#$conf["variableCheck.checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
1843
		#$conf["variableCheck.checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
1844
		$conf["variableCheck.checkArguments"]["skipableVariableType"]=array("string");
1844
		$conf["variableCheck.checkArguments"]["skipableVariableType"]=array("string");
1845
		#$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定.
1845
		#$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定.
1846
		$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"]=array("false");
1846
		$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"]=array("false");
1847
		$checkResult=variableCheck::checkArguments($conf["variableCheck.checkArguments"]);			
1847
		$checkResult=variableCheck::checkArguments($conf["variableCheck.checkArguments"]);
1848
		unset($conf["variableCheck.checkArguments"]);
1848
		unset($conf["variableCheck.checkArguments"]);
1849
 
1849
 
1850
		#如果檢查失敗
1850
		#如果檢查失敗
1851
		if($checkResult["status"]=="false"){
1851
		if($checkResult["status"]=="false"){
1852
			
1852
 
1853
			#設置執行不正常
1853
			#設置執行不正常
1854
			$result["status"]="false";
1854
			$result["status"]="false";
1855
		
1855
 
1856
			#程式停止執行
1856
			#程式停止執行
1857
			$result["error"]=$checkResult;
1857
			$result["error"]=$checkResult;
1858
			
1858
 
1859
			#回傳結果
1859
			#回傳結果
1860
			return $result;
1860
			return $result;
1861
			
1861
 
1862
			}#if end
1862
			}#if end
1863
			
1863
 
1864
		#如果檢查不通過
1864
		#如果檢查不通過
1865
		if($checkResult["passed"]=="false"){
1865
		if($checkResult["passed"]=="false"){
1866
			
1866
 
1867
			#設置執行不正常
1867
			#設置執行不正常
1868
			$result["status"]="false";
1868
			$result["status"]="false";
1869
		
1869
 
1870
			#程式停止執行
1870
			#程式停止執行
1871
			$result["error"]=$checkResult;
1871
			$result["error"]=$checkResult;
1872
			
1872
 
1873
			#回傳結果
1873
			#回傳結果
1874
			return $result;
1874
			return $result;
1875
			
1875
 
1876
			}#if end
1876
			}#if end
1877
			
1877
 
1878
		#預設沒有找到全數符合的關鍵字
1878
		#預設沒有找到全數符合的關鍵字
1879
		$result["founded"]="false";	
1879
		$result["founded"]="false";
1880
						
1880
 
1881
		#針對每個keyWord
1881
		#針對每個keyWord
1882
		foreach($conf["keyWords"] as $keyWord){
1882
		foreach($conf["keyWords"] as $keyWord){
1883
									
1883
 
1884
			#函式說明:
1884
			#函式說明:
1885
			#檢查字串裡面有無指定的關鍵字
1885
			#檢查字串裡面有無指定的關鍵字
1886
			#回傳結果:
1886
			#回傳結果:
1887
			#$result["status"],"true"代表執行成功,"false"代表執行失敗。
1887
			#$result["status"],"true"代表執行成功,"false"代表執行失敗。
1888
			#$result["error"],錯誤訊息
1888
			#$result["error"],錯誤訊息
1889
			#$result["founded"],是否找到關鍵字,"true"代表有找到關鍵字;"false"代表沒有找到關鍵字。
1889
			#$result["founded"],是否找到關鍵字,"true"代表有找到關鍵字;"false"代表沒有找到關鍵字。
1890
			#必填參數:
1890
			#必填參數:
1891
			$conf["search"]["findKeyWord"]["keyWord"]=$keyWord;#想要搜尋的關鍵字
1891
			$conf["search"]["findKeyWord"]["keyWord"]=$keyWord;#想要搜尋的關鍵字
1892
			$conf["search"]["findKeyWord"]["string"]=$conf["string"];#要被搜尋的字串內容
1892
			$conf["search"]["findKeyWord"]["string"]=$conf["string"];#要被搜尋的字串內容
1893
				
1893
 
1894
			#如果 $conf["completeEqual"] 有設置
1894
			#如果 $conf["completeEqual"] 有設置
1895
			if(isset($conf["completeEqual"])){
1895
			if(isset($conf["completeEqual"])){
1896
					
1896
 
1897
				#如果 $conf["completeEqual"] 等於 "true"
1897
				#如果 $conf["completeEqual"] 等於 "true"
1898
				if($conf["completeEqual"]=="true"){
1898
				if($conf["completeEqual"]=="true"){
1899
						
1899
 
1900
					$conf["search"]["findKeyWord"]["completeEqual"]="true";#是否內容要完全符合,不能多出任何不符合的內容,預設為不需要完全符合。
1900
					$conf["search"]["findKeyWord"]["completeEqual"]="true";#是否內容要完全符合,不能多出任何不符合的內容,預設為不需要完全符合。
1901
						
1901
 
1902
					}#if end
1902
					}#if end
1903
					
1903
 
1904
				}#if end
1904
				}#if end
1905
				
1905
 
1906
			$searchResult=search::findKeyWord($conf["search"]["findKeyWord"]);
1906
			$searchResult=search::findKeyWord($conf["search"]["findKeyWord"]);
1907
			unset($conf["search"]["findKeyWord"]);
1907
			unset($conf["search"]["findKeyWord"]);
1908
				
1908
 
1909
			#如果尋找關鍵字出錯
1909
			#如果尋找關鍵字出錯
1910
			if($searchResult["status"]=="false"){
1910
			if($searchResult["status"]=="false"){
1911
				
1911
 
1912
				#設置執行不正常
1912
				#設置執行不正常
1913
				$result["status"]="false";
1913
				$result["status"]="false";
1914
			
1914
 
1915
				#程式停止執行
1915
				#程式停止執行
1916
				$result["error"]=$searchResult;
1916
				$result["error"]=$searchResult;
1917
				
1917
 
1918
				#回傳結果
1918
				#回傳結果
1919
				return $result;
1919
				return $result;
1920
				
1920
 
1921
				}#if end	
1921
				}#if end
1922
				
1922
 
1923
			#如果有找到關鍵字
1923
			#如果有找到關鍵字
1924
			if($searchResult["founded"]=="true"){
1924
			if($searchResult["founded"]=="true"){
1925
					
1925
 
1926
				#設置執行成功
1926
				#設置執行成功
1927
				$result["status"]="true";
1927
				$result["status"]="true";
1928
					
1928
 
1929
				#設置有找到其中一個符合的關鍵字
1929
				#設置有找到其中一個符合的關鍵字
1930
				$result["founded"]="true";
1930
				$result["founded"]="true";
1931
				
1931
 
1932
				#儲存找到的keyword
1932
				#儲存找到的keyword
1933
				$result["foundedKeyWords"][]=$keyWord;
1933
				$result["foundedKeyWords"][]=$keyWord;
1934
					
1934
 
1935
				#回傳結果
1935
				#回傳結果
1936
				#return $result;
1936
				#return $result;
1937
					
1937
 
1938
				}#if end
1938
				}#if end
1939
			
1939
 
1940
			}#foreach end
1940
			}#foreach end
1941
			
1941
 
1942
		#設置沒有找到所有的關鍵字
1942
		#設置沒有找到所有的關鍵字
1943
		$result["foundedAll"]="false";
1943
		$result["foundedAll"]="false";
1944
		
1944
 
1945
		#如果有找到的關鍵字
1945
		#如果有找到的關鍵字
1946
		if(isset($result["foundedKeyWords"]))
1946
		if(isset($result["foundedKeyWords"]))
1947
		{
1947
		{
1948
			#設置有找到所有的關鍵字
1948
			#設置有找到所有的關鍵字
1949
			$result["foundedAll"]="true";	
1949
			$result["foundedAll"]="true";
1950
			
1950
 
1951
			#如果有關鍵字沒找到
1951
			#如果有關鍵字沒找到
1952
			if(count($result["foundedKeyWords"])!==count($conf["keyWords"])){
1952
			if(count($result["foundedKeyWords"])!==count($conf["keyWords"])){
1953
			
1953
 
1954
				#設置沒有找到所有的關鍵字
1954
				#設置沒有找到所有的關鍵字
1955
				$result["foundedAll"]="false";
1955
				$result["foundedAll"]="false";
1956
			
1956
 
1957
				}#if end	
1957
				}#if end
1958
		}
1958
		}
1959
				
1959
 
1960
		#設置執行成功
1960
		#設置執行成功
1961
		$result["status"]="true";
1961
		$result["status"]="true";
1962
							
1962
 
1963
		#回傳結果
1963
		#回傳結果
1964
		return $result;
1964
		return $result;
1965
		
1965
 
1966
		}#function findManyKeyWords end
1966
		}#function findManyKeyWords end
1967
		
1967
 
1968
	/*	
1968
	/*
1969
	#函式說明:
1969
	#函式說明:
1970
	#檢查多個字串中的每個字串是否有多個關鍵字
1970
	#檢查多個字串中的每個字串是否有多個關鍵字
1971
	#回傳結果:
1971
	#回傳結果:
1972
	#$result["status"],整體來說,執行是否成功,"true"代表執行成功,"false"代表執行失敗。
1972
	#$result["status"],整體來說,執行是否成功,"true"代表執行成功,"false"代表執行失敗。
1973
	#$result["function"],當前執行的函數名稱.
1973
	#$result["function"],當前執行的函數名稱.
Line 1991... Line 1991...
1991
	#無.
1991
	#無.
1992
	#備註:
1992
	#備註:
1993
	#無.
1993
	#無.
1994
	*/
1994
	*/
1995
	public static function findManyKeyWordsFromManyString(&$conf){
1995
	public static function findManyKeyWordsFromManyString(&$conf){
1996
		
1996
 
1997
		#初始化要回傳的變數
1997
		#初始化要回傳的變數
1998
		$result=array();
1998
		$result=array();
1999
		
1999
 
2000
		#設置當前執行的函數
2000
		#設置當前執行的函數
2001
		$result["function"]=__FUNCTION__;
2001
		$result["function"]=__FUNCTION__;
2002
		
2002
 
2003
		#如果 $conf 不為陣列
2003
		#如果 $conf 不為陣列
2004
		if(gettype($conf)!="array"){
2004
		if(gettype($conf)!="array"){
2005
			
2005
 
2006
			#設置執行失敗
2006
			#設置執行失敗
2007
			$result["status"]="false";
2007
			$result["status"]="false";
2008
			
2008
 
2009
			#設置執行錯誤訊息
2009
			#設置執行錯誤訊息
2010
			$result["error"][]="\$conf變數須為陣列形態";
2010
			$result["error"][]="\$conf變數須為陣列形態";
2011
 
2011
 
2012
			#如果傳入的參數為 null
2012
			#如果傳入的參數為 null
2013
			if($conf==null){
2013
			if($conf==null){
2014
				
2014
 
2015
				#設置執行錯誤訊息
2015
				#設置執行錯誤訊息
2016
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
2016
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
2017
				
2017
 
2018
				}#if end
2018
				}#if end
2019
 
2019
 
2020
			#回傳結果
2020
			#回傳結果
2021
			return $result;
2021
			return $result;
2022
			
2022
 
2023
			}#if end
2023
			}#if end
2024
			
2024
 
2025
		#取得參數
2025
		#取得參數
2026
		$result["argu"]=$conf;	
2026
		$result["argu"]=$conf;
2027
				
2027
 
2028
		#檢查參數
2028
		#檢查參數
2029
		#函式說明:
2029
		#函式說明:
2030
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
2030
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
2031
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
2031
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
2032
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
2032
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
Line 2038... Line 2038...
2038
		#必填寫的參數:
2038
		#必填寫的參數:
2039
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
2039
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
2040
		$conf["variableCheck.checkArguments"]["varInput"]=&$conf;
2040
		$conf["variableCheck.checkArguments"]["varInput"]=&$conf;
2041
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
2041
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
2042
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableName"]=array("keyWords","stringArray");
2042
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableName"]=array("keyWords","stringArray");
2043
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
2043
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double");
2044
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableType"]=array("array","array");
2044
		$conf["variableCheck.checkArguments"]["mustBeFilledVariableType"]=array("array","array");
2045
		#$conf["variableCheck::checkArguments"]["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
2045
		#$conf["variableCheck::checkArguments"]["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
2046
		$conf["variableCheck.checkArguments"]["referenceVarKey"]="variableCheck.checkArguments";
2046
		$conf["variableCheck.checkArguments"]["referenceVarKey"]="variableCheck.checkArguments";
2047
		#可以省略的參數:
2047
		#可以省略的參數:
2048
		#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
2048
		#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
2049
		#$conf["canBeEmptyString"]="false";
2049
		#$conf["canBeEmptyString"]="false";
2050
		#$conf["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
2050
		#$conf["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
2051
		$conf["variableCheck.checkArguments"]["skipableVariableName"]=array("completeEqual");
2051
		$conf["variableCheck.checkArguments"]["skipableVariableName"]=array("completeEqual");
2052
		#$conf["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
2052
		#$conf["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
2053
		$conf["variableCheck.checkArguments"]["skipableVariableType"]=array("string");
2053
		$conf["variableCheck.checkArguments"]["skipableVariableType"]=array("string");
2054
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定.
2054
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定.
2055
		$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"]=array("false");
2055
		$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"]=array("false");
2056
		$checkResult=variableCheck::checkArguments($conf["variableCheck.checkArguments"]);			
2056
		$checkResult=variableCheck::checkArguments($conf["variableCheck.checkArguments"]);
2057
		unset($conf["variableCheck.checkArguments"]);
2057
		unset($conf["variableCheck.checkArguments"]);
2058
 
2058
 
2059
		#如果檢查失敗
2059
		#如果檢查失敗
2060
		if($checkResult["status"]=="false"){
2060
		if($checkResult["status"]=="false"){
2061
			
2061
 
2062
			#設置執行不正常
2062
			#設置執行不正常
2063
			$result["status"]="false";
2063
			$result["status"]="false";
2064
		
2064
 
2065
			#程式停止執行
2065
			#程式停止執行
2066
			$result["error"]=$checkResult;
2066
			$result["error"]=$checkResult;
2067
			
2067
 
2068
			#回傳結果
2068
			#回傳結果
2069
			return $result;
2069
			return $result;
2070
			
2070
 
2071
			}#if end
2071
			}#if end
2072
			
2072
 
2073
		#如果檢查不通過
2073
		#如果檢查不通過
2074
		if($checkResult["passed"]=="false"){
2074
		if($checkResult["passed"]=="false"){
2075
			
2075
 
2076
			#設置執行不正常
2076
			#設置執行不正常
2077
			$result["status"]="false";
2077
			$result["status"]="false";
2078
		
2078
 
2079
			#程式停止執行
2079
			#程式停止執行
2080
			$result["error"]=$checkResult;
2080
			$result["error"]=$checkResult;
2081
			
2081
 
2082
			#回傳結果
2082
			#回傳結果
2083
			return $result;
2083
			return $result;
2084
			
2084
 
2085
			}#if end		
2085
			}#if end
2086
			
2086
 
2087
		#初始化變數,避免找不到	
2087
		#初始化變數,避免找不到
2088
		$result["foundedFalseKey"]=array();	
2088
		$result["foundedFalseKey"]=array();
2089
		$result["foundedTrueKey"]=array();
2089
		$result["foundedTrueKey"]=array();
2090
		$result["foundedKeyWords"]=array();
2090
		$result["foundedKeyWords"]=array();
2091
		$result["foundedTrueKeyWords"]=array();
2091
		$result["foundedTrueKeyWords"]=array();
2092
		$result["keyWordsIncludeStr"]=array();	
2092
		$result["keyWordsIncludeStr"]=array();
2093
				
2093
 
2094
		#$conf["stringArray"] 陣列有幾個元素,就執行幾次。
2094
		#$conf["stringArray"] 陣列有幾個元素,就執行幾次。
2095
		foreach($conf["stringArray"] as $key=>$value){
2095
		foreach($conf["stringArray"] as $key=>$value){
2096
			
2096
 
2097
			#檢查一個字串裡面是否有多個關鍵字
2097
			#檢查一個字串裡面是否有多個關鍵字
2098
			#回傳結果:
2098
			#回傳結果:
2099
			#$result["status"],"true"代表執行成功,"false"代表執行失敗.
2099
			#$result["status"],"true"代表執行成功,"false"代表執行失敗.
2100
			#$result["error"],錯誤訊息.
2100
			#$result["error"],錯誤訊息.
2101
			#$result["function"],當前執行的函數名稱.
2101
			#$result["function"],當前執行的函數名稱.
Line 2103... Line 2103...
2103
			#$result["foundedKeyWords"],找到的關鍵字.
2103
			#$result["foundedKeyWords"],找到的關鍵字.
2104
			#必填參數:
2104
			#必填參數:
2105
			$conf["search"]["findManyKeyWords"]["keyWords"]=$conf["keyWords"];#想要搜尋的關鍵字
2105
			$conf["search"]["findManyKeyWords"]["keyWords"]=$conf["keyWords"];#想要搜尋的關鍵字
2106
			$conf["search"]["findManyKeyWords"]["string"]=$value;#要被搜尋的字串內容
2106
			$conf["search"]["findManyKeyWords"]["string"]=$value;#要被搜尋的字串內容
2107
			#可省略參數:
2107
			#可省略參數:
2108
			
2108
 
2109
			#如果 $conf["completeEqual"] 有設定
2109
			#如果 $conf["completeEqual"] 有設定
2110
			if(isset($conf["completeEqual"])){
2110
			if(isset($conf["completeEqual"])){
2111
				
2111
 
2112
				#設定其屬性
2112
				#設定其屬性
2113
				$conf["search"]["findManyKeyWords"]["completeEqual"]=$conf["completeEqual"];#是否內容要完全符合,不能多出任何不符合的內容,預設為不需要完全符合。
2113
				$conf["search"]["findManyKeyWords"]["completeEqual"]=$conf["completeEqual"];#是否內容要完全符合,不能多出任何不符合的內容,預設為不需要完全符合。
2114
				
2114
 
2115
				}#if end
2115
				}#if end
2116
							
2116
 
2117
			$searchResult=search::findManyKeyWords($conf["search"]["findManyKeyWords"]);
2117
			$searchResult=search::findManyKeyWords($conf["search"]["findManyKeyWords"]);
2118
			unset($conf["search"]["findManyKeyWords"]);
2118
			unset($conf["search"]["findManyKeyWords"]);
2119
				
2119
 
2120
			#如果檢查一個字串裡面是否有多個關鍵字失敗
2120
			#如果檢查一個字串裡面是否有多個關鍵字失敗
2121
			if($searchResult["status"]==="false"){
2121
			if($searchResult["status"]==="false"){
2122
				
2122
 
2123
				#設置執行不正常
2123
				#設置執行不正常
2124
				$result["status"]="false";
2124
				$result["status"]="false";
2125
			
2125
 
2126
				#程式停止執行
2126
				#程式停止執行
2127
				$result["error"]=$searchResult;
2127
				$result["error"]=$searchResult;
2128
				
2128
 
2129
				#回傳結果
2129
				#回傳結果
2130
				return $result;
2130
				return $result;
2131
				
2131
 
2132
				}#if end
2132
				}#if end
2133
			
2133
 
2134
			#如果 $searchResult["founded"] 等於 "true"
2134
			#如果 $searchResult["founded"] 等於 "true"
2135
			if($searchResult["founded"]==="true"){
2135
			if($searchResult["founded"]==="true"){
2136
				
2136
 
2137
				#取得該元素
2137
				#取得該元素
2138
				$result["foundedTrueKey"][$key]=$value;
2138
				$result["foundedTrueKey"][$key]=$value;
2139
				
2139
 
2140
				#儲存該元素存在的關鍵字
2140
				#儲存該元素存在的關鍵字
2141
				$result["foundedTrueKeyWords"][$key]=$searchResult["foundedKeyWords"];
2141
				$result["foundedTrueKeyWords"][$key]=$searchResult["foundedKeyWords"];
2142
				
2142
 
2143
				#合併找到的關鍵字
2143
				#合併找到的關鍵字
2144
				#函式說明:
2144
				#函式說明:
2145
				#將多個一維陣列串聯起來,key從0開始排序.
2145
				#將多個一維陣列串聯起來,key從0開始排序.
2146
				#回傳的結果:
2146
				#回傳的結果:
2147
				#$result["status"],"true"表執行正常,"false"代表執行不正常.
2147
				#$result["status"],"true"表執行正常,"false"代表執行不正常.
Line 2161... Line 2161...
2161
				$mergeArray=arrays::mergeArray($conf["arrays::mergeArray"]);
2161
				$mergeArray=arrays::mergeArray($conf["arrays::mergeArray"]);
2162
				unset($conf["arrays::mergeArray"]);
2162
				unset($conf["arrays::mergeArray"]);
2163
 
2163
 
2164
				#如果失敗
2164
				#如果失敗
2165
				if($mergeArray["status"]==="false"){
2165
				if($mergeArray["status"]==="false"){
2166
					
2166
 
2167
					#設置執行不正常
2167
					#設置執行不正常
2168
					$result["status"]="false";
2168
					$result["status"]="false";
2169
				
2169
 
2170
					#程式停止執行
2170
					#程式停止執行
2171
					$result["error"]=$mergeArray;
2171
					$result["error"]=$mergeArray;
2172
					
2172
 
2173
					#回傳結果
2173
					#回傳結果
2174
					return $result;
2174
					return $result;
2175
					
2175
 
2176
					}#if end
2176
					}#if end
2177
 
2177
 
2178
				#儲存找到的關鍵字
2178
				#儲存找到的關鍵字
2179
				$result["foundedKeyWords"]=$mergeArray["content"];
2179
				$result["foundedKeyWords"]=$mergeArray["content"];
2180
				
2180
 
2181
				#儲存有找到關鍵字的來源的索引與其內容跟找到的關鍵字
2181
				#儲存有找到關鍵字的來源的索引與其內容跟找到的關鍵字
2182
				$result["keyWordsIncludeStr"][]=array("sourceIndex"=>$key,"sourceVal"=>$value,"keyWords"=>$searchResult["foundedKeyWords"]);
2182
				$result["keyWordsIncludeStr"][]=array("sourceIndex"=>$key,"sourceVal"=>$value,"keyWords"=>$searchResult["foundedKeyWords"]);
2183
				
2183
 
2184
				}#if end
2184
				}#if end
2185
				
2185
 
2186
			#如果 $searchResult["founded"] 等於 "false"
2186
			#如果 $searchResult["founded"] 等於 "false"
2187
			else{
2187
			else{
2188
				
2188
 
2189
				#取得該元素
2189
				#取得該元素
2190
				$result["foundedFalseKey"][$key]=$value;
2190
				$result["foundedFalseKey"][$key]=$value;
2191
				
2191
 
2192
				}#if end
2192
				}#if end
2193
				
2193
 
2194
			}#foreach end
2194
			}#foreach end
2195
			
2195
 
2196
			
2196
 
2197
		#如果沒有找到的元素內容
2197
		#如果沒有找到的元素內容
2198
		if(!isset($result["foundedTrueKey"])){
2198
		if(!isset($result["foundedTrueKey"])){
2199
			
2199
 
2200
			#設置找到的元素內容為空
2200
			#設置找到的元素內容為空
2201
			$result["foundedTrueKey"]=array();
2201
			$result["foundedTrueKey"]=array();
2202
			
2202
 
2203
			#設置沒有找到全部的關鍵字
2203
			#設置沒有找到全部的關鍵字
2204
			$result["foundedAll"]="false";
2204
			$result["foundedAll"]="false";
2205
		
2205
 
2206
			}#if end
2206
			}#if end
2207
			
2207
 
2208
		#如果所有關鍵字都找到了
2208
		#如果所有關鍵字都找到了
2209
		else if(count($result["foundedKeyWords"])===count($conf["keyWords"])){
2209
		else if(count($result["foundedKeyWords"])===count($conf["keyWords"])){
2210
		
2210
 
2211
			#設置有找到全部的關鍵字
2211
			#設置有找到全部的關鍵字
2212
			$result["foundedAll"]="true";
2212
			$result["foundedAll"]="true";
2213
		
2213
 
2214
			}#if end
2214
			}#if end
2215
		
2215
 
2216
		#反之只有找到部分關鍵字	
2216
		#反之只有找到部分關鍵字
2217
		else{
2217
		else{
2218
		
2218
 
2219
			#設置沒有找到全部的關鍵字
2219
			#設置沒有找到全部的關鍵字
2220
			$result["foundedAll"]="false";
2220
			$result["foundedAll"]="false";
2221
		
2221
 
2222
			}#else end	
2222
			}#else end
2223
			
2223
 
2224
		#執行到這邊代表執行成功
2224
		#執行到這邊代表執行成功
2225
		$result["status"]="true";
2225
		$result["status"]="true";
2226
		
2226
 
2227
		#回傳結果
2227
		#回傳結果
2228
		return $result;
2228
		return $result;
2229
				
2229
 
2230
		}#function findManyKeyWordsFromManyString end
2230
		}#function findManyKeyWordsFromManyString end
2231
	
2231
 
2232
	/*	
2232
	/*
2233
	#函式說明:
2233
	#函式說明:
2234
	#檢查一個字串裡面是否沒有多個任何篩選字存在
2234
	#檢查一個字串裡面是否沒有多個任何篩選字存在
2235
	#回傳結果:
2235
	#回傳結果:
2236
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
2236
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
2237
	#$result["function"],當前執行的函數
2237
	#$result["function"],當前執行的函數
2238
	#$result["error"],涵式錯誤訊息,若爲""則表示沒有錯誤 		
2238
	#$result["error"],涵式錯誤訊息,若爲""則表示沒有錯誤
2239
	#$result["filtered"],該字串是否為要過濾掉的,"true"為要過濾掉的;"false"為不用過濾掉的
2239
	#$result["filtered"],該字串是否為要過濾掉的,"true"為要過濾掉的;"false"為不用過濾掉的
2240
	#$result["argu"],使用的參數.
2240
	#$result["argu"],使用的參數.
2241
	#必填參數:
2241
	#必填參數:
2242
	#$conf["inputStr"],字串,要過濾的字串.
2242
	#$conf["inputStr"],字串,要過濾的字串.
2243
	$conf["inputStr"]="";
2243
	$conf["inputStr"]="";
Line 2249... Line 2249...
2249
	#無.
2249
	#無.
2250
	#備註:
2250
	#備註:
2251
	#無.
2251
	#無.
2252
	*/
2252
	*/
2253
	public static function filterString(&$conf){
2253
	public static function filterString(&$conf){
2254
		
2254
 
2255
		#初始化要回傳的內容
2255
		#初始化要回傳的內容
2256
		$result=array();
2256
		$result=array();
2257
		
2257
 
2258
		#設置當前執行的函數
2258
		#設置當前執行的函數
2259
		$result["function"]=__FUNCTION__;
2259
		$result["function"]=__FUNCTION__;
2260
 
2260
 
2261
		#如果 $conf 不為陣列
2261
		#如果 $conf 不為陣列
2262
		if(gettype($conf)!="array"){
2262
		if(gettype($conf)!="array"){
2263
			
2263
 
2264
			#設置執行失敗
2264
			#設置執行失敗
2265
			$result["status"]="false";
2265
			$result["status"]="false";
2266
			
2266
 
2267
			#設置執行錯誤訊息
2267
			#設置執行錯誤訊息
2268
			$result["error"][]="\$conf變數須為陣列形態";
2268
			$result["error"][]="\$conf變數須為陣列形態";
2269
 
2269
 
2270
			#如果傳入的參數為 null
2270
			#如果傳入的參數為 null
2271
			if($conf==null){
2271
			if($conf==null){
2272
				
2272
 
2273
				#設置執行錯誤訊息
2273
				#設置執行錯誤訊息
2274
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
2274
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
2275
				
2275
 
2276
				}#if end
2276
				}#if end
2277
 
2277
 
2278
			#回傳結果
2278
			#回傳結果
2279
			return $result;
2279
			return $result;
2280
			
2280
 
2281
			}#if end
2281
			}#if end
2282
		
2282
 
2283
		#取得使用的參數
2283
		#取得使用的參數
2284
		$result["argu"]=$conf;
2284
		$result["argu"]=$conf;
2285
		
2285
 
2286
		#檢查參數	
2286
		#檢查參數
2287
		#函式說明:
2287
		#函式說明:
2288
		#檢查陣列裡面的特定元素是否存在以及其變數型態是否正確,如果沒有設定則回傳提示訊息。
2288
		#檢查陣列裡面的特定元素是否存在以及其變數型態是否正確,如果沒有設定則回傳提示訊息。
2289
		#回傳結果:
2289
		#回傳結果:
2290
		#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
2290
		#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
2291
		#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
2291
		#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
2292
		#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
2292
		#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
2293
		#必填寫的參數:
2293
		#必填寫的參數:
2294
		$conf["variableCheck"]["isexistMuti"]["varInput"]=$conf;#要檢查的陣列變數
2294
		$conf["variableCheck"]["isexistMuti"]["varInput"]=$conf;#要檢查的陣列變數
2295
		$conf["variableCheck"]["isexistMuti"]["variableCheck"]=array("inputStr","filterWord");#要檢查的變數名稱陣列,形態爲陣列變數,例如: $conf["variableCheck"] = array("id","account","password");
2295
		$conf["variableCheck"]["isexistMuti"]["variableCheck"]=array("inputStr","filterWord");#要檢查的變數名稱陣列,形態爲陣列變數,例如: $conf["variableCheck"] = array("id","account","password");
2296
		#可以省略的參數:
2296
		#可以省略的參數:
2297
		$conf["variableCheck"]["isexistMuti"]["variableType"]=array("string","array");#要檢查的陣列變數內的元素應該爲何種變數形態,形態爲陣列 例如: $conf[variableType] = array("string","int","double"); 
2297
		$conf["variableCheck"]["isexistMuti"]["variableType"]=array("string","array");#要檢查的陣列變數內的元素應該爲何種變數形態,形態爲陣列 例如: $conf[variableType] = array("string","int","double");
2298
		#$conf["variableCheck"]["isexistMuti"]["canBeEmptyString"]="false";#變數內容如果是空字串就不能算是有設置的話,請設為"false",預設為也算是有設置。
2298
		#$conf["variableCheck"]["isexistMuti"]["canBeEmptyString"]="false";#變數內容如果是空字串就不能算是有設置的話,請設為"false",預設為也算是有設置。
2299
		$checkResult=variableCheck::isexistMulti($conf["variableCheck"]["isexistMuti"]);
2299
		$checkResult=variableCheck::isexistMulti($conf["variableCheck"]["isexistMuti"]);
2300
		unset($conf["variableCheck"]["isexistMuti"]);
2300
		unset($conf["variableCheck"]["isexistMuti"]);
2301
				
2301
 
2302
		#如果檢查失敗
2302
		#如果檢查失敗
2303
		if($checkResult["passed"]=="false"){
2303
		if($checkResult["passed"]=="false"){
2304
						
2304
 
2305
			#設置錯誤
2305
			#設置錯誤
2306
			$result["status"]="false";
2306
			$result["status"]="false";
2307
						
2307
 
2308
			#設置錯誤訊息
2308
			#設置錯誤訊息
2309
			$result["error"]=$checkResult;
2309
			$result["error"]=$checkResult;
2310
						
2310
 
2311
			#回傳結果
2311
			#回傳結果
2312
			return $result;
2312
			return $result;
2313
						
2313
 
2314
			}#if end
2314
			}#if end
2315
			
2315
 
2316
		#針對每個過濾的字
2316
		#針對每個過濾的字
2317
		foreach($conf["filterWord"] as $filterWord){
2317
		foreach($conf["filterWord"] as $filterWord){
2318
			
2318
 
2319
			#檢查要過濾的字串是否含有要過濾的字
2319
			#檢查要過濾的字串是否含有要過濾的字
2320
			#函式說明:
2320
			#函式說明:
2321
			#檢查字串裡面有無指定的關鍵字
2321
			#檢查字串裡面有無指定的關鍵字
2322
			#回傳結果:
2322
			#回傳結果:
2323
			#$result["status"],"true"代表執行成功,"false"代表執行失敗。
2323
			#$result["status"],"true"代表執行成功,"false"代表執行失敗。
Line 2328... Line 2328...
2328
			$conf["search"]["findKeyWord"]["string"]=$conf["inputStr"];#要被搜尋的字串內容
2328
			$conf["search"]["findKeyWord"]["string"]=$conf["inputStr"];#要被搜尋的字串內容
2329
			#可省略參數:
2329
			#可省略參數:
2330
			#$conf["search"]["findKeyWord"]["completeEqual"]="true";#是否內容要完全符合,不能多出任何不符合的內容,預設為不需要完全符合。
2330
			#$conf["search"]["findKeyWord"]["completeEqual"]="true";#是否內容要完全符合,不能多出任何不符合的內容,預設為不需要完全符合。
2331
			$searchResult=search::findKeyWord($conf["search"]["findKeyWord"]);
2331
			$searchResult=search::findKeyWord($conf["search"]["findKeyWord"]);
2332
			unset($conf["search"]["findKeyWord"]);
2332
			unset($conf["search"]["findKeyWord"]);
2333
			
2333
 
2334
			#var_dump($searchResult);
2334
			#var_dump($searchResult);
2335
			
2335
 
2336
			#如果 $searchResult["founded"]等於"true"
2336
			#如果 $searchResult["founded"]等於"true"
2337
			if($searchResult["founded"]=="true"){
2337
			if($searchResult["founded"]=="true"){
2338
				
2338
 
2339
				#則代表該字串為要過濾掉的
2339
				#則代表該字串為要過濾掉的
2340
				
2340
 
2341
				#設置執行成功的識別
2341
				#設置執行成功的識別
2342
				$result["status"]="true";
2342
				$result["status"]="true";
2343
				
2343
 
2344
				#設置該字串是要過濾掉的
2344
				#設置該字串是要過濾掉的
2345
				$result["filtered"]="true";
2345
				$result["filtered"]="true";
2346
				
2346
 
2347
				#回傳結果
2347
				#回傳結果
2348
				return $result;
2348
				return $result;
2349
				
2349
 
2350
				}#if end
2350
				}#if end
2351
			
2351
 
2352
			}#foreach end
2352
			}#foreach end
2353
		
2353
 
2354
		#執行到這邊代表,都沒有要過濾掉
2354
		#執行到這邊代表,都沒有要過濾掉
2355
		
2355
 
2356
		#設置執行成功的識別
2356
		#設置執行成功的識別
2357
		$result["status"]="true";
2357
		$result["status"]="true";
2358
				
2358
 
2359
		#設置該字串是不用過濾掉的
2359
		#設置該字串是不用過濾掉的
2360
		$result["filtered"]="false";
2360
		$result["filtered"]="false";
2361
		
2361
 
2362
		#回傳結果
2362
		#回傳結果
2363
		return $result;
2363
		return $result;
2364
		
2364
 
2365
		}#function filterString end
2365
		}#function filterString end
2366
		
2366
 
2367
	/*	
2367
	/*
2368
	#函式說明:
2368
	#函式說明:
2369
	#檢查多個字串裡面是否沒有多個任何篩選字存在
2369
	#檢查多個字串裡面是否沒有多個任何篩選字存在
2370
	#回傳結果:
2370
	#回傳結果:
2371
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
2371
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
2372
	#$result["function"],當前執行的函數
2372
	#$result["function"],當前執行的函數
2373
	#$result["error"],涵式錯誤訊息,若爲""則表示沒有錯誤 		
2373
	#$result["error"],涵式錯誤訊息,若爲""則表示沒有錯誤
2374
	#$result["filtered"],該字串是否為要過濾掉的識別陣列,"true"為要過濾掉的;"false"為不用過濾掉的
2374
	#$result["filtered"],該字串是否為要過濾掉的識別陣列,"true"為要過濾掉的;"false"為不用過濾掉的
2375
	#必填參數:
2375
	#必填參數:
2376
	#$conf["inputStr"],字串陣列,要過濾的字串陣列.
2376
	#$conf["inputStr"],字串陣列,要過濾的字串陣列.
2377
	$conf["inputStr"]=array("");
2377
	$conf["inputStr"]=array("");
2378
	#$conf["filterWord"],字串陣列,要過濾的字串不能含有該陣列元素之一.
2378
	#$conf["filterWord"],字串陣列,要過濾的字串不能含有該陣列元素之一.
Line 2383... Line 2383...
2383
	#無.
2383
	#無.
2384
	#備註:
2384
	#備註:
2385
	#無.
2385
	#無.
2386
	*/
2386
	*/
2387
	public static function filterMutiString(&$conf){
2387
	public static function filterMutiString(&$conf){
2388
		
2388
 
2389
		#初始化要回傳的內容
2389
		#初始化要回傳的內容
2390
		$result=array();
2390
		$result=array();
2391
		
2391
 
2392
		#設置當前執行的函數
2392
		#設置當前執行的函數
2393
		$result["function"]=__FUNCTION__;
2393
		$result["function"]=__FUNCTION__;
2394
 
2394
 
2395
		#如果 $conf 不為陣列
2395
		#如果 $conf 不為陣列
2396
		if(gettype($conf)!="array"){
2396
		if(gettype($conf)!="array"){
2397
			
2397
 
2398
			#設置執行失敗
2398
			#設置執行失敗
2399
			$result["status"]="false";
2399
			$result["status"]="false";
2400
			
2400
 
2401
			#設置執行錯誤訊息
2401
			#設置執行錯誤訊息
2402
			$result["error"][]="\$conf變數須為陣列形態";
2402
			$result["error"][]="\$conf變數須為陣列形態";
2403
 
2403
 
2404
			#如果傳入的參數為 null
2404
			#如果傳入的參數為 null
2405
			if($conf==null){
2405
			if($conf==null){
2406
				
2406
 
2407
				#設置執行錯誤訊息
2407
				#設置執行錯誤訊息
2408
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
2408
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
2409
				
2409
 
2410
				}#if end
2410
				}#if end
2411
 
2411
 
2412
			#回傳結果
2412
			#回傳結果
2413
			return $result;
2413
			return $result;
2414
			
2414
 
2415
			}#if end
2415
			}#if end
2416
		
2416
 
2417
		#檢查參數	
2417
		#檢查參數
2418
		#函式說明:
2418
		#函式說明:
2419
		#檢查陣列裡面的特定元素是否存在以及其變數型態是否正確,如果沒有設定則回傳提示訊息。
2419
		#檢查陣列裡面的特定元素是否存在以及其變數型態是否正確,如果沒有設定則回傳提示訊息。
2420
		#回傳結果:
2420
		#回傳結果:
2421
		#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
2421
		#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
2422
		#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
2422
		#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
2423
		#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
2423
		#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
2424
		#必填寫的參數:
2424
		#必填寫的參數:
2425
		$conf["variableCheck"]["isexistMuti"]["varInput"]=$conf;#要檢查的陣列變數
2425
		$conf["variableCheck"]["isexistMuti"]["varInput"]=$conf;#要檢查的陣列變數
2426
		$conf["variableCheck"]["isexistMuti"]["variableCheck"]=array("inputStr","filterWord");#要檢查的變數名稱陣列,形態爲陣列變數,例如: $conf["variableCheck"] = array("id","account","password");
2426
		$conf["variableCheck"]["isexistMuti"]["variableCheck"]=array("inputStr","filterWord");#要檢查的變數名稱陣列,形態爲陣列變數,例如: $conf["variableCheck"] = array("id","account","password");
2427
		#可以省略的參數:
2427
		#可以省略的參數:
2428
		$conf["variableCheck"]["isexistMuti"]["variableType"]=array("array","array");#要檢查的陣列變數內的元素應該爲何種變數形態,形態爲陣列 例如: $conf[variableType] = array("string","int","double"); 
2428
		$conf["variableCheck"]["isexistMuti"]["variableType"]=array("array","array");#要檢查的陣列變數內的元素應該爲何種變數形態,形態爲陣列 例如: $conf[variableType] = array("string","int","double");
2429
		#$conf["variableCheck"]["isexistMuti"]["canBeEmptyString"]="false";#變數內容如果是空字串就不能算是有設置的話,請設為"false",預設為也算是有設置。
2429
		#$conf["variableCheck"]["isexistMuti"]["canBeEmptyString"]="false";#變數內容如果是空字串就不能算是有設置的話,請設為"false",預設為也算是有設置。
2430
		$checkResult=variableCheck::isexistMulti($conf["variableCheck"]["isexistMuti"]);
2430
		$checkResult=variableCheck::isexistMulti($conf["variableCheck"]["isexistMuti"]);
2431
		unset($conf["variableCheck"]["isexistMuti"]);
2431
		unset($conf["variableCheck"]["isexistMuti"]);
2432
				
2432
 
2433
		#如果檢查失敗
2433
		#如果檢查失敗
2434
		if($checkResult["passed"]=="false"){
2434
		if($checkResult["passed"]=="false"){
2435
						
2435
 
2436
			#設置錯誤
2436
			#設置錯誤
2437
			$result["status"]="false";
2437
			$result["status"]="false";
2438
						
2438
 
2439
			#設置錯誤訊息
2439
			#設置錯誤訊息
2440
			$result["error"]=$checkResult;
2440
			$result["error"]=$checkResult;
2441
						
2441
 
2442
			#回傳結果
2442
			#回傳結果
2443
			return $result;
2443
			return $result;
2444
						
2444
 
2445
			}#if end
2445
			}#if end
2446
			
2446
 
2447
		#針對每個要檢測是否要過濾掉的字串
2447
		#針對每個要檢測是否要過濾掉的字串
2448
		foreach($conf["inputStr"] as $inputStr){
2448
		foreach($conf["inputStr"] as $inputStr){
2449
			
2449
 
2450
			#函式說明:
2450
			#函式說明:
2451
			#檢查一個字串裡面是否沒有多個任何篩選字存在
2451
			#檢查一個字串裡面是否沒有多個任何篩選字存在
2452
			#回傳結果:
2452
			#回傳結果:
2453
			#$result["status"],執行是否成功的識別,"true"為執行成功;"false"為執行失敗
2453
			#$result["status"],執行是否成功的識別,"true"為執行成功;"false"為執行失敗
2454
			#$result["error"],錯誤訊息陣列			
2454
			#$result["error"],錯誤訊息陣列
2455
			#$result["filtered"],該字串是否為要過濾掉的,"true"為要過濾掉的;"false"為不用過濾掉的
2455
			#$result["filtered"],該字串是否為要過濾掉的,"true"為要過濾掉的;"false"為不用過濾掉的
2456
			#必填參數:
2456
			#必填參數:
2457
			$conf["search"]["filterString"]["inputStr"]=$inputStr;#要過濾的字串
2457
			$conf["search"]["filterString"]["inputStr"]=$inputStr;#要過濾的字串
2458
			$conf["search"]["filterString"]["filterWord"]=$conf["filterWord"];#要過濾的字串不能含有該陣列元素之一
2458
			$conf["search"]["filterString"]["filterWord"]=$conf["filterWord"];#要過濾的字串不能含有該陣列元素之一
2459
			$filteredResult=search::filterString($conf["search"]["filterString"]);
2459
			$filteredResult=search::filterString($conf["search"]["filterString"]);
2460
			unset($conf["search"]["filterString"]);
2460
			unset($conf["search"]["filterString"]);
2461
			
2461
 
2462
			#儲存每個字串判斷後是否要篩選的結果
2462
			#儲存每個字串判斷後是否要篩選的結果
2463
			$result["filtered"][]=$filteredResult["filtered"];
2463
			$result["filtered"][]=$filteredResult["filtered"];
2464
							
2464
 
2465
			}#foreach end
2465
			}#foreach end
2466
		
2466
 
2467
		#設置執行成功的識別
2467
		#設置執行成功的識別
2468
		$result["status"]="true";
2468
		$result["status"]="true";
2469
		
2469
 
2470
		#回傳結果
2470
		#回傳結果
2471
		return $result;
2471
		return $result;
2472
		
2472
 
2473
		}#function filterMutiString end
2473
		}#function filterMutiString end
2474
		
2474
 
2475
	/*	
2475
	/*
2476
	#函式說明:
2476
	#函式說明:
2477
	#檢查一個字串裡面是否有多個關鍵字,將每個關鍵字的搜尋結果回傳.
2477
	#檢查一個字串裡面是否有多個關鍵字,將每個關鍵字的搜尋結果回傳.
2478
	#回傳結果:
2478
	#回傳結果:
2479
	#$result["status"],"true"代表執行成功,"false"代表執行失敗。
2479
	#$result["status"],"true"代表執行成功,"false"代表執行失敗。
2480
	#$result["function"],當前執行的函數名稱.
2480
	#$result["function"],當前執行的函數名稱.
Line 2492... Line 2492...
2492
	#無.
2492
	#無.
2493
	#備註:
2493
	#備註:
2494
	#無.
2494
	#無.
2495
	*/
2495
	*/
2496
	public static function findManyKeyWordsLosse(&$conf){
2496
	public static function findManyKeyWordsLosse(&$conf){
2497
			
2497
 
2498
		#初始化要回傳的變數
2498
		#初始化要回傳的變數
2499
		$result=array();
2499
		$result=array();
2500
			
2500
 
2501
		#設置當前執行的函數
2501
		#設置當前執行的函數
2502
		$result["function"]=__FUNCTION__;	
2502
		$result["function"]=__FUNCTION__;
2503
				
2503
 
2504
		#如果 $conf 不為陣列
2504
		#如果 $conf 不為陣列
2505
		if(gettype($conf)!="array"){
2505
		if(gettype($conf)!="array"){
2506
			
2506
 
2507
			#設置執行失敗
2507
			#設置執行失敗
2508
			$result["status"]="false";
2508
			$result["status"]="false";
2509
			
2509
 
2510
			#設置執行錯誤訊息
2510
			#設置執行錯誤訊息
2511
			$result["error"][]="\$conf變數須為陣列形態";
2511
			$result["error"][]="\$conf變數須為陣列形態";
2512
 
2512
 
2513
			#如果傳入的參數為 null
2513
			#如果傳入的參數為 null
2514
			if($conf==null){
2514
			if($conf==null){
2515
				
2515
 
2516
				#設置執行錯誤訊息
2516
				#設置執行錯誤訊息
2517
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
2517
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
2518
				
2518
 
2519
				}#if end
2519
				}#if end
2520
 
2520
 
2521
			#回傳結果
2521
			#回傳結果
2522
			return $result;
2522
			return $result;
2523
			
2523
 
2524
			}#if end
2524
			}#if end
2525
				
2525
 
2526
		#函式說明:
2526
		#函式說明:
2527
		#檢查陣列裡面的特定元素是否存在以及其變數型態是否正確,如果沒有設定則回傳提示訊息。
2527
		#檢查陣列裡面的特定元素是否存在以及其變數型態是否正確,如果沒有設定則回傳提示訊息。
2528
		#回傳結果:
2528
		#回傳結果:
2529
		#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
2529
		#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
2530
		#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
2530
		#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
2531
		#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
2531
		#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
2532
		#必填寫的參數:
2532
		#必填寫的參數:
2533
		$conf["variableCheck"]["isexistMuti"]["varInput"]=$conf;#要檢查的陣列變數
2533
		$conf["variableCheck"]["isexistMuti"]["varInput"]=$conf;#要檢查的陣列變數
2534
		$conf["variableCheck"]["isexistMuti"]["variableCheck"]=array("keyWords","string");#要檢查的變數名稱陣列,形態爲陣列變數,例如: $conf["variableCheck"] = array("id","account","password");
2534
		$conf["variableCheck"]["isexistMuti"]["variableCheck"]=array("keyWords","string");#要檢查的變數名稱陣列,形態爲陣列變數,例如: $conf["variableCheck"] = array("id","account","password");
2535
		#可以省略的參數:
2535
		#可以省略的參數:
2536
		$conf["variableCheck"]["isexistMuti"]["variableType"]=array("array","string");#要檢查的陣列變數內的元素應該爲何種變數形態,形態爲陣列 例如: $conf[variableType] = array("string","int","double"); 
2536
		$conf["variableCheck"]["isexistMuti"]["variableType"]=array("array","string");#要檢查的陣列變數內的元素應該爲何種變數形態,形態爲陣列 例如: $conf[variableType] = array("string","int","double");
2537
		#$conf["variableCheck"]["isexistMuti"]["canBeEmptyString"]="false";#變數內容如果是空字串就不能算是有設置的話,請設為"false",預設為也算是有設置。
2537
		#$conf["variableCheck"]["isexistMuti"]["canBeEmptyString"]="false";#變數內容如果是空字串就不能算是有設置的話,請設為"false",預設為也算是有設置。
2538
		$checkResult=variableCheck::isexistMulti($conf["variableCheck"]["isexistMuti"]);
2538
		$checkResult=variableCheck::isexistMulti($conf["variableCheck"]["isexistMuti"]);
2539
		unset($conf["variableCheck"]["isexistMuti"]);
2539
		unset($conf["variableCheck"]["isexistMuti"]);
2540
				
2540
 
2541
		#如果檢查失敗
2541
		#如果檢查失敗
2542
		if($checkResult["passed"]=="false"){
2542
		if($checkResult["passed"]=="false"){
2543
						
2543
 
2544
			#設置錯誤
2544
			#設置錯誤
2545
			$result["status"]="false";
2545
			$result["status"]="false";
2546
					
2546
 
2547
			#設置錯誤訊息
2547
			#設置錯誤訊息
2548
			$result["error"]=$checkResult;
2548
			$result["error"]=$checkResult;
2549
					
2549
 
2550
			#回傳結果
2550
			#回傳結果
2551
			return $result;
2551
			return $result;
2552
						
2552
 
2553
			}#if end
2553
			}#if end
2554
			
2554
 
2555
		#針對每個keyWord
2555
		#針對每個keyWord
2556
		foreach($conf["keyWords"] as $keyWord){
2556
		foreach($conf["keyWords"] as $keyWord){
2557
									
2557
 
2558
			#函式說明:
2558
			#函式說明:
2559
			#檢查字串裡面有無指定的關鍵字
2559
			#檢查字串裡面有無指定的關鍵字
2560
			#回傳結果:
2560
			#回傳結果:
2561
			#$result["status"],"true"代表執行成功,"false"代表執行失敗。
2561
			#$result["status"],"true"代表執行成功,"false"代表執行失敗。
2562
			#$result["error"],錯誤訊息
2562
			#$result["error"],錯誤訊息
2563
			#$result["founded"],是否找到關鍵字,"true"代表有找到關鍵字;"false"代表沒有找到關鍵字。
2563
			#$result["founded"],是否找到關鍵字,"true"代表有找到關鍵字;"false"代表沒有找到關鍵字。
2564
			#必填參數:
2564
			#必填參數:
2565
			$conf["search"]["findKeyWord"]["keyWord"]=$keyWord;#想要搜尋的關鍵字
2565
			$conf["search"]["findKeyWord"]["keyWord"]=$keyWord;#想要搜尋的關鍵字
2566
			$conf["search"]["findKeyWord"]["string"]=$conf["string"];#要被搜尋的字串內容
2566
			$conf["search"]["findKeyWord"]["string"]=$conf["string"];#要被搜尋的字串內容
2567
				
2567
 
2568
			#如果 $conf["completeEqual"] 有設置
2568
			#如果 $conf["completeEqual"] 有設置
2569
			if(isset($conf["completeEqual"])){
2569
			if(isset($conf["completeEqual"])){
2570
					
2570
 
2571
				#如果 $conf["completeEqual"] 等於 "true"
2571
				#如果 $conf["completeEqual"] 等於 "true"
2572
				if($conf["completeEqual"]=="true"){
2572
				if($conf["completeEqual"]=="true"){
2573
						
2573
 
2574
					$conf["search"]["findKeyWord"]["completeEqual"]="true";#是否內容要完全符合,不能多出任何不符合的內容,預設為不需要完全符合。
2574
					$conf["search"]["findKeyWord"]["completeEqual"]="true";#是否內容要完全符合,不能多出任何不符合的內容,預設為不需要完全符合。
2575
						
2575
 
2576
					}#if end
2576
					}#if end
2577
					
2577
 
2578
				}#if end
2578
				}#if end
2579
				
2579
 
2580
			$searchResult=search::findKeyWord($conf["search"]["findKeyWord"]);
2580
			$searchResult=search::findKeyWord($conf["search"]["findKeyWord"]);
2581
			unset($conf["search"]["findKeyWord"]);
2581
			unset($conf["search"]["findKeyWord"]);
2582
				
2582
 
2583
			#如果沒有找到其中一個關鍵字
2583
			#如果沒有找到其中一個關鍵字
2584
			if($searchResult["founded"]=="false"){
2584
			if($searchResult["founded"]=="false"){
2585
					
2585
 
2586
				#設置沒有找到第n個關鍵字
2586
				#設置沒有找到第n個關鍵字
2587
				$result["founded"][]="false";
2587
				$result["founded"][]="false";
2588
				
2588
 
2589
				#設置沒有找到第n個關鍵字
2589
				#設置沒有找到第n個關鍵字
2590
				$result["founded"][$keyWord]="false";
2590
				$result["founded"][$keyWord]="false";
2591
					
2591
 
2592
				}#if end
2592
				}#if end
2593
				
2593
 
2594
			#反之有找到關鍵字
2594
			#反之有找到關鍵字
2595
			else{
2595
			else{
2596
				
2596
 
2597
				#設置有找到第n個關鍵字
2597
				#設置有找到第n個關鍵字
2598
				$result["founded"][]="true";
2598
				$result["founded"][]="true";
2599
				
2599
 
2600
				#設置有找到第n個關鍵字
2600
				#設置有找到第n個關鍵字
2601
				$result["founded"][$keyWord]="true";
2601
				$result["founded"][$keyWord]="true";
2602
				
2602
 
2603
				}#else end
2603
				}#else end
2604
				
2604
 
2605
			}#foreach end
2605
			}#foreach end
2606
				
2606
 
2607
		#設置執行成功
2607
		#設置執行成功
2608
		$result["status"]="true";
2608
		$result["status"]="true";
2609
					
2609
 
2610
		#回傳結果
2610
		#回傳結果
2611
		return $result;
2611
		return $result;
2612
				
2612
 
2613
		}#function findManyKeyWordsLoose end
2613
		}#function findManyKeyWordsLoose end
2614
		
2614
 
2615
	/*	
2615
	/*
2616
	#函式說明:
2616
	#函式說明:
2617
	#取得關鍵字在字串的哪個位置(字首,字尾,中間)
2617
	#取得關鍵字在字串的哪個位置(字首,字尾,中間)
2618
	#回傳結果:
2618
	#回傳結果:
2619
	#$result["status"],執行成功與否,若爲"true",代表執行成功,若爲"false"代表執失敗。
2619
	#$result["status"],執行成功與否,若爲"true",代表執行成功,若爲"false"代表執失敗。
2620
	#$result["error"],錯誤訊息陣列.
2620
	#$result["error"],錯誤訊息陣列.
Line 2637... Line 2637...
2637
	#http://php.net/manual/en/function.strpos.php
2637
	#http://php.net/manual/en/function.strpos.php
2638
	#備註:
2638
	#備註:
2639
	#無.
2639
	#無.
2640
	*/
2640
	*/
2641
	public static function findKeyWordPosition(&$conf){
2641
	public static function findKeyWordPosition(&$conf){
2642
		
2642
 
2643
		#初始化要回傳的內容
2643
		#初始化要回傳的內容
2644
		$result=array();
2644
		$result=array();
2645
 
2645
 
2646
		#取得當前執行的函數名稱
2646
		#取得當前執行的函數名稱
2647
		$result["function"]=__FUNCTION__;
2647
		$result["function"]=__FUNCTION__;
2648
 
2648
 
2649
		#如果 $conf 不為陣列
2649
		#如果 $conf 不為陣列
2650
		if(gettype($conf)!="array"){
2650
		if(gettype($conf)!="array"){
2651
			
2651
 
2652
			#設置執行失敗
2652
			#設置執行失敗
2653
			$result["status"]="false";
2653
			$result["status"]="false";
2654
			
2654
 
2655
			#設置執行錯誤訊息
2655
			#設置執行錯誤訊息
2656
			$result["error"][]="\$conf變數須為陣列形態";
2656
			$result["error"][]="\$conf變數須為陣列形態";
2657
 
2657
 
2658
			#如果傳入的參數為 null
2658
			#如果傳入的參數為 null
2659
			if($conf==null){
2659
			if($conf==null){
2660
				
2660
 
2661
				#設置執行錯誤訊息
2661
				#設置執行錯誤訊息
2662
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
2662
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
2663
				
2663
 
2664
				}#if end
2664
				}#if end
2665
 
2665
 
2666
			#回傳結果
2666
			#回傳結果
2667
			return $result;
2667
			return $result;
2668
			
2668
 
2669
			}#if end
2669
			}#if end
2670
			
2670
 
2671
		#取得參數
2671
		#取得參數
2672
		$result["argu"]=$conf;
2672
		$result["argu"]=$conf;
2673
 
2673
 
2674
		#檢查參數
2674
		#檢查參數
2675
		#函式說明:
2675
		#函式說明:
Line 2687... Line 2687...
2687
		#必填寫的參數:
2687
		#必填寫的參數:
2688
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
2688
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
2689
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
2689
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
2690
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
2690
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
2691
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("inputStr","keyWord");
2691
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("inputStr","keyWord");
2692
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); 
2692
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object");
2693
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string","string");
2693
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string","string");
2694
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
2694
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
2695
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
2695
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
2696
		#可以省略的參數:
2696
		#可以省略的參數:
2697
		#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
2697
		#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
2698
		#$conf["canBeEmptyString"]="false";
2698
		#$conf["canBeEmptyString"]="false";
2699
		#$conf["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
2699
		#$conf["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
2700
		#$conf["skipableVariableName"]=array();
2700
		#$conf["skipableVariableName"]=array();
2701
		#$conf["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
2701
		#$conf["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
2702
		#$conf["skipableVariableType"]=array();
2702
		#$conf["skipableVariableType"]=array();
2703
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
2703
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
2704
		#$conf["skipableVarDefaultValue"]=array("");
2704
		#$conf["skipableVarDefaultValue"]=array("");
2705
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
2705
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
2706
		#$conf["arrayCountEqualCheck"][]=array();
2706
		#$conf["arrayCountEqualCheck"][]=array();
Line 2709... Line 2709...
2709
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
2709
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
2710
		unset($conf["variableCheck::checkArguments"]);
2710
		unset($conf["variableCheck::checkArguments"]);
2711
 
2711
 
2712
		#如果檢查有誤
2712
		#如果檢查有誤
2713
		if($checkResult["status"]=="false"){
2713
		if($checkResult["status"]=="false"){
2714
			
2714
 
2715
			#設置錯誤識別
2715
			#設置錯誤識別
2716
			$result["status"]="false";
2716
			$result["status"]="false";
2717
			
2717
 
2718
			#設置錯誤訊息
2718
			#設置錯誤訊息
2719
			$result["error"]=$checkResult;
2719
			$result["error"]=$checkResult;
2720
			
2720
 
2721
			#回傳結果
2721
			#回傳結果
2722
			return $result;
2722
			return $result;
2723
			
2723
 
2724
			}#if end
2724
			}#if end
2725
		
2725
 
2726
		#預設沒有找到關鍵字
2726
		#預設沒有找到關鍵字
2727
		$result["found"]="false";
2727
		$result["found"]="false";
2728
		
2728
 
2729
		#預設不在開頭
2729
		#預設不在開頭
2730
		$result["head"]="false";
2730
		$result["head"]="false";
2731
			
2731
 
2732
		#預設不在結尾
2732
		#預設不在結尾
2733
		$result["tail"]="false";
2733
		$result["tail"]="false";
2734
			
2734
 
2735
		#預設不在中間
2735
		#預設不在中間
2736
		$result["center"]="false";
2736
		$result["center"]="false";
2737
			
2737
 
2738
		#預設關鍵字的開始位置
2738
		#預設關鍵字的開始位置
2739
		$result["indexS"]=-1;
2739
		$result["indexS"]=-1;
2740
			
2740
 
2741
		#預設關鍵字結束的位置
2741
		#預設關鍵字結束的位置
2742
		$result["indexE"]=-1;
2742
		$result["indexE"]=-1;
2743
		
2743
 
2744
		#如果檢查不通過
2744
		#如果檢查不通過
2745
		if($checkResult["passed"]=="false"){
2745
		if($checkResult["passed"]=="false"){
2746
			
2746
 
2747
			#設置錯誤識別
2747
			#設置錯誤識別
2748
			$result["status"]="false";
2748
			$result["status"]="false";
2749
			
2749
 
2750
			#設置錯誤訊息
2750
			#設置錯誤訊息
2751
			$result["error"]=$checkResult;
2751
			$result["error"]=$checkResult;
2752
			
2752
 
2753
			#回傳結果
2753
			#回傳結果
2754
			return $result;
2754
			return $result;
2755
			
2755
 
2756
			}#if end
2756
			}#if end
2757
		
2757
 
2758
		#取得關鍵字所在的位置
2758
		#取得關鍵字所在的位置
2759
		$keyWordAddr=strpos($conf["inputStr"],$conf["keyWord"]);
2759
		$keyWordAddr=strpos($conf["inputStr"],$conf["keyWord"]);
2760
		
2760
 
2761
		#如果關鍵字不存在於字串裡面
2761
		#如果關鍵字不存在於字串裡面
2762
		if($keyWordAddr===FALSE){
2762
		if($keyWordAddr===FALSE){
2763
			
2763
 
2764
			#設置執行正常
2764
			#設置執行正常
2765
			$result["status"]="true";
2765
			$result["status"]="true";
2766
			
2766
 
2767
			#回傳結果
2767
			#回傳結果
2768
			return $result;
2768
			return $result;
2769
			
2769
 
2770
			}#if end
2770
			}#if end
2771
			
2771
 
2772
		#如果關鍵字在字串開頭
2772
		#如果關鍵字在字串開頭
2773
		if($keyWordAddr==0){
2773
		if($keyWordAddr==0){
2774
			
2774
 
2775
			#設置在開頭
2775
			#設置在開頭
2776
			$result["head"]="true";
2776
			$result["head"]="true";
2777
			
2777
 
2778
			#設置有找到關鍵字
2778
			#設置有找到關鍵字
2779
			$result["found"]="true";
2779
			$result["found"]="true";
2780
			
2780
 
2781
			}#if end
2781
			}#if end
2782
			
2782
 
2783
		#反之
2783
		#反之
2784
		else{
2784
		else{
2785
			
2785
 
2786
			#設置不在開頭
2786
			#設置不在開頭
2787
			$result["head"]="false";
2787
			$result["head"]="false";
2788
			
2788
 
2789
			}#else end	
2789
			}#else end
2790
			
2790
 
2791
		#如果關鍵字在字串結尾
2791
		#如果關鍵字在字串結尾
2792
		if($keyWordAddr==(strlen($conf["inputStr"])-strlen($conf["keyWord"]))){
2792
		if($keyWordAddr==(strlen($conf["inputStr"])-strlen($conf["keyWord"]))){
2793
			
2793
 
2794
			#設置在結尾
2794
			#設置在結尾
2795
			$result["tail"]="true";
2795
			$result["tail"]="true";
2796
			
2796
 
2797
			#設置有找到關鍵字
2797
			#設置有找到關鍵字
2798
			$result["found"]="true";
2798
			$result["found"]="true";
2799
			
2799
 
2800
			}#if end
2800
			}#if end
2801
		
2801
 
2802
		#反之
2802
		#反之
2803
		else{
2803
		else{
2804
			
2804
 
2805
			#設置不在結尾
2805
			#設置不在結尾
2806
			$result["tail"]="false";
2806
			$result["tail"]="false";
2807
			
2807
 
2808
			}#else end
2808
			}#else end
2809
			
2809
 
2810
		#如果關鍵字在字串中間
2810
		#如果關鍵字在字串中間
2811
		if
2811
		if
2812
		(
2812
		(
2813
			($keyWordAddr>0 && $keyWordAddr<(strlen($conf["inputStr"])-strlen($conf["keyWord"])))
2813
			($keyWordAddr>0 && $keyWordAddr<(strlen($conf["inputStr"])-strlen($conf["keyWord"])))
2814
			||
2814
			||
2815
			($result["head"]=="true" && $result["tail"]=="true")
2815
			($result["head"]=="true" && $result["tail"]=="true")
2816
		){
2816
		){
2817
			#設置在中間
2817
			#設置在中間
2818
			$result["center"]="true";
2818
			$result["center"]="true";
2819
			
2819
 
2820
			#設置有找到關鍵字
2820
			#設置有找到關鍵字
2821
			$result["found"]="true";
2821
			$result["found"]="true";
2822
				
2822
 
2823
			}#if end
2823
			}#if end
2824
			
2824
 
2825
		#反之
2825
		#反之
2826
		else{
2826
		else{
2827
			
2827
 
2828
			#設置不在中間
2828
			#設置不在中間
2829
			$result["center"]="false";
2829
			$result["center"]="false";
2830
			
2830
 
2831
			}#else end
2831
			}#else end
2832
		
2832
 
2833
		#儲存關鍵字的開始位置
2833
		#儲存關鍵字的開始位置
2834
		$result["indexS"]=$keyWordAddr;
2834
		$result["indexS"]=$keyWordAddr;
2835
			
2835
 
2836
		#儲存關鍵字結束的位置
2836
		#儲存關鍵字結束的位置
2837
		$result["indexE"]=$result["indexS"]+strlen($conf["keyWord"]);
2837
		$result["indexE"]=$result["indexS"]+strlen($conf["keyWord"]);
2838
			
2838
 
2839
		#設置執行正常
2839
		#設置執行正常
2840
		$result["status"]="true";
2840
		$result["status"]="true";
2841
		
2841
 
2842
		#回傳結果
2842
		#回傳結果
2843
		return $result;
2843
		return $result;
2844
		
2844
 
2845
		}#function findKeyWordPosition end	
2845
		}#function findKeyWordPosition end
2846
	
2846
 
2847
	/*	
2847
	/*
2848
	#函式說明:
2848
	#函式說明:
2849
	#取得多個關鍵字在字串的哪個位置(字首,字尾,中間)
2849
	#取得多個關鍵字在字串的哪個位置(字首,字尾,中間)
2850
	#回傳結果:
2850
	#回傳結果:
2851
	#$result["status"],執行成功與否,若爲"true",代表執行成功,若爲"false"代表執失敗。
2851
	#$result["status"],執行成功與否,若爲"true",代表執行成功,若爲"false"代表執失敗。
2852
	#$result["error"],錯誤訊息陣列.
2852
	#$result["error"],錯誤訊息陣列.
Line 2868... Line 2868...
2868
	#http://php.net/manual/en/function.strpos.php
2868
	#http://php.net/manual/en/function.strpos.php
2869
	#備註:
2869
	#備註:
2870
	#無.
2870
	#無.
2871
	*/
2871
	*/
2872
	public static function findKeyWordsPosition(&$conf){
2872
	public static function findKeyWordsPosition(&$conf){
2873
	
2873
 
2874
		#初始化要回傳的內容
2874
		#初始化要回傳的內容
2875
		$result=array();
2875
		$result=array();
2876
 
2876
 
2877
		#取得當前執行的函數名稱
2877
		#取得當前執行的函數名稱
2878
		$result["function"]=__FUNCTION__;
2878
		$result["function"]=__FUNCTION__;
2879
 
2879
 
2880
		#如果 $conf 不為陣列
2880
		#如果 $conf 不為陣列
2881
		if(gettype($conf)!="array"){
2881
		if(gettype($conf)!="array"){
2882
			
2882
 
2883
			#設置執行失敗
2883
			#設置執行失敗
2884
			$result["status"]="false";
2884
			$result["status"]="false";
2885
			
2885
 
2886
			#設置執行錯誤訊息
2886
			#設置執行錯誤訊息
2887
			$result["error"][]="\$conf變數須為陣列形態";
2887
			$result["error"][]="\$conf變數須為陣列形態";
2888
 
2888
 
2889
			#如果傳入的參數為 null
2889
			#如果傳入的參數為 null
2890
			if($conf==null){
2890
			if($conf==null){
2891
				
2891
 
2892
				#設置執行錯誤訊息
2892
				#設置執行錯誤訊息
2893
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
2893
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
2894
				
2894
 
2895
				}#if end
2895
				}#if end
2896
 
2896
 
2897
			#回傳結果
2897
			#回傳結果
2898
			return $result;
2898
			return $result;
2899
			
2899
 
2900
			}#if end
2900
			}#if end
2901
			
2901
 
2902
		#取得參數
2902
		#取得參數
2903
		$result["argu"]=$conf;
2903
		$result["argu"]=$conf;
2904
 
2904
 
2905
		#函式說明:
2905
		#函式說明:
2906
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
2906
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
Line 2954... Line 2954...
2954
		#array_keys=>http://php.net/manual/en/function.array-keys.php
2954
		#array_keys=>http://php.net/manual/en/function.array-keys.php
2955
		#備註:
2955
		#備註:
2956
		#無.
2956
		#無.
2957
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
2957
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
2958
		unset($conf["variableCheck::checkArguments"]);
2958
		unset($conf["variableCheck::checkArguments"]);
2959
	
2959
 
2960
		#如果檢查失敗
2960
		#如果檢查失敗
2961
		if($checkArguments["status"]=="false"){
2961
		if($checkArguments["status"]=="false"){
2962
			
2962
 
2963
			#設置錯誤識別
2963
			#設置錯誤識別
2964
			$result["status"]="false";
2964
			$result["status"]="false";
2965
			
2965
 
2966
			#設置錯誤訊息
2966
			#設置錯誤訊息
2967
			$result["error"]=$checkArguments;
2967
			$result["error"]=$checkArguments;
2968
			
2968
 
2969
			#回傳結果
2969
			#回傳結果
2970
			return $result;
2970
			return $result;
2971
			
2971
 
2972
			}#if end
2972
			}#if end
2973
		
2973
 
2974
		#如果檢查不通過
2974
		#如果檢查不通過
2975
		if($checkArguments["passed"]=="false"){
2975
		if($checkArguments["passed"]=="false"){
2976
			
2976
 
2977
			#設置錯誤識別
2977
			#設置錯誤識別
2978
			$result["status"]="false";
2978
			$result["status"]="false";
2979
			
2979
 
2980
			#設置錯誤訊息
2980
			#設置錯誤訊息
2981
			$result["error"]=$checkArguments;
2981
			$result["error"]=$checkArguments;
2982
			
2982
 
2983
			#回傳結果
2983
			#回傳結果
2984
			return $result;
2984
			return $result;
2985
			
2985
 
2986
			}#if end
2986
			}#if end
2987
			
2987
 
2988
		#針對每個關鍵字
2988
		#針對每個關鍵字
2989
		foreach($conf["keyWords"] as $keyWord){
2989
		foreach($conf["keyWords"] as $keyWord){
2990
		
2990
 
2991
			#函式說明:
2991
			#函式說明:
2992
			#取得關鍵字在字串的哪個位置(字首,字尾,中間)
2992
			#取得關鍵字在字串的哪個位置(字首,字尾,中間)
2993
			#回傳結果:
2993
			#回傳結果:
2994
			#$result["status"],執行成功與否,若爲"true",代表執行成功,若爲"false"代表執失敗。
2994
			#$result["status"],執行成功與否,若爲"true",代表執行成功,若爲"false"代表執失敗。
2995
			#$result["error"],錯誤訊息陣列.
2995
			#$result["error"],錯誤訊息陣列.
Line 3011... Line 3011...
3011
			#http://php.net/manual/en/function.strpos.php
3011
			#http://php.net/manual/en/function.strpos.php
3012
			#備註:
3012
			#備註:
3013
			#無.
3013
			#無.
3014
			$findKeyWordPosition=search::findKeyWordPosition($conf["search::findKeyWordPosition"]);
3014
			$findKeyWordPosition=search::findKeyWordPosition($conf["search::findKeyWordPosition"]);
3015
			unset($conf["search::findKeyWordPosition"]);
3015
			unset($conf["search::findKeyWordPosition"]);
3016
		
3016
 
3017
			#如果檢查失敗
3017
			#如果檢查失敗
3018
			if($findKeyWordPosition["status"]=="false"){
3018
			if($findKeyWordPosition["status"]=="false"){
3019
				
3019
 
3020
				#設置錯誤識別
3020
				#設置錯誤識別
3021
				$result["status"]="false";
3021
				$result["status"]="false";
3022
				
3022
 
3023
				#設置錯誤訊息
3023
				#設置錯誤訊息
3024
				$result["error"]=$findKeyWordPosition;
3024
				$result["error"]=$findKeyWordPosition;
3025
				
3025
 
3026
				#回傳結果
3026
				#回傳結果
3027
				return $result;
3027
				return $result;
3028
				
3028
 
3029
				}#if end
3029
				}#if end
3030
	
3030
 
3031
			#取得head的結果
3031
			#取得head的結果
3032
			$result["head"][]=$findKeyWordPosition["head"];
3032
			$result["head"][]=$findKeyWordPosition["head"];
3033
			
3033
 
3034
			#取得center的結果
3034
			#取得center的結果
3035
			$result["center"][]=$findKeyWordPosition["center"];
3035
			$result["center"][]=$findKeyWordPosition["center"];
3036
			
3036
 
3037
			#取得tail的結果
3037
			#取得tail的結果
3038
			$result["tail"][]=$findKeyWordPosition["tail"];
3038
			$result["tail"][]=$findKeyWordPosition["tail"];
3039
		
3039
 
3040
			#取得indexS的結果
3040
			#取得indexS的結果
3041
			$result["indexS"][]=$findKeyWordPosition["indexS"];
3041
			$result["indexS"][]=$findKeyWordPosition["indexS"];
3042
			
3042
 
3043
			#取得indexE的結果
3043
			#取得indexE的結果
3044
			$result["indexE"][]=$findKeyWordPosition["indexE"];
3044
			$result["indexE"][]=$findKeyWordPosition["indexE"];
3045
			
3045
 
3046
			}#foreach end
3046
			}#foreach end
3047
			
3047
 
3048
		#設置執行正常
3048
		#設置執行正常
3049
		$result["status"]="true";
3049
		$result["status"]="true";
3050
	
3050
 
3051
		#回傳結果
3051
		#回傳結果
3052
		return $result;
3052
		return $result;
3053
	
3053
 
3054
		}#function findKeyWordsPosition end
3054
		}#function findKeyWordsPosition end
3055
	
3055
 
3056
	/*
3056
	/*
3057
	#函式說明:
3057
	#函式說明:
3058
	#取得兩關鍵字中的內容. 
3058
	#取得兩關鍵字中的內容.
3059
	#回傳結果:
3059
	#回傳結果:
3060
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3060
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3061
	#$reuslt["error"],執行不正常結束的錯訊息陣列.
3061
	#$reuslt["error"],執行不正常結束的錯訊息陣列.
3062
	#$result["function"],當前執行的函式名稱.
3062
	#$result["function"],當前執行的函式名稱.
3063
	#$result["content"],兩關鍵字中的內容.
3063
	#$result["content"],兩關鍵字中的內容.
Line 3075... Line 3075...
3075
	#無.
3075
	#無.
3076
	#備註:
3076
	#備註:
3077
	#無.
3077
	#無.
3078
	*/
3078
	*/
3079
	public static function getContentBetweenKeyWord(&$conf){
3079
	public static function getContentBetweenKeyWord(&$conf){
3080
		
3080
 
3081
		#初始化要回傳的結果
3081
		#初始化要回傳的結果
3082
		$result=array();
3082
		$result=array();
3083
 
3083
 
3084
		#取得當前執行的函數名稱
3084
		#取得當前執行的函數名稱
3085
		$result["function"]=__FUNCTION__;
3085
		$result["function"]=__FUNCTION__;
3086
 
3086
 
3087
		#如果沒有參數
3087
		#如果沒有參數
3088
		if(func_num_args()==0){
3088
		if(func_num_args()==0){
3089
			
3089
 
3090
			#設置執行失敗
3090
			#設置執行失敗
3091
			$result["status"]="false";
3091
			$result["status"]="false";
3092
			
3092
 
3093
			#設置執行錯誤訊息
3093
			#設置執行錯誤訊息
3094
			$result["error"]="函數".$result["function"]."需要參數";
3094
			$result["error"]="函數".$result["function"]."需要參數";
3095
			
3095
 
3096
			#回傳結果
3096
			#回傳結果
3097
			return $result;
3097
			return $result;
3098
			
3098
 
3099
			}#if end
3099
			}#if end
3100
		
3100
 
3101
		#取得參數
3101
		#取得參數
3102
		$result["argu"]=$conf;
3102
		$result["argu"]=$conf;
3103
 
3103
 
3104
		#如果 $conf 不為陣列
3104
		#如果 $conf 不為陣列
3105
		if(gettype($conf)!=="array"){
3105
		if(gettype($conf)!=="array"){
3106
			
3106
 
3107
			#設置執行失敗
3107
			#設置執行失敗
3108
			$result["status"]="false";
3108
			$result["status"]="false";
3109
			
3109
 
3110
			#設置執行錯誤訊息
3110
			#設置執行錯誤訊息
3111
			$result["error"][]="\$conf變數須為陣列形態";
3111
			$result["error"][]="\$conf變數須為陣列形態";
3112
			
3112
 
3113
			#如果傳入的參數為 null
3113
			#如果傳入的參數為 null
3114
			if($conf===null){
3114
			if($conf===null){
3115
				
3115
 
3116
				#設置執行錯誤訊息
3116
				#設置執行錯誤訊息
3117
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
3117
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
3118
				
3118
 
3119
				}#if end
3119
				}#if end
3120
 
3120
 
3121
			#回傳結果
3121
			#回傳結果
3122
			return $result;
3122
			return $result;
3123
			
3123
 
3124
			}#if end
3124
			}#if end
3125
		
3125
 
3126
		#函式說明:
3126
		#函式說明:
3127
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
3127
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
3128
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3128
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3129
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
3129
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
3130
		#$result["function"],當前執行的函式名稱.
3130
		#$result["function"],當前執行的函式名稱.
Line 3154... Line 3154...
3154
		#$conf["canBeEmpty"]=array();
3154
		#$conf["canBeEmpty"]=array();
3155
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
3155
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
3156
		#$conf["skipableVariableCanNotBeEmpty"]=array();
3156
		#$conf["skipableVariableCanNotBeEmpty"]=array();
3157
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
3157
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
3158
		#$conf["skipableVariableName"]=array();
3158
		#$conf["skipableVariableName"]=array();
3159
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
3159
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
3160
		#$conf["skipableVariableType"]=array();
3160
		#$conf["skipableVariableType"]=array();
3161
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
3161
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
3162
		#$conf["skipableVarDefaultValue"]=array("");
3162
		#$conf["skipableVarDefaultValue"]=array("");
3163
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
3163
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
3164
		#$conf["arrayCountEqualCheck"][]=array();
3164
		#$conf["arrayCountEqualCheck"][]=array();
Line 3166... Line 3166...
3166
		#array_keys=>http://php.net/manual/en/function.array-keys.php
3166
		#array_keys=>http://php.net/manual/en/function.array-keys.php
3167
		#建議:
3167
		#建議:
3168
		#增加可省略參數全部不能為空字串或空陣列的參數功能.
3168
		#增加可省略參數全部不能為空字串或空陣列的參數功能.
3169
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
3169
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
3170
		unset($conf["variableCheck::checkArguments"]);
3170
		unset($conf["variableCheck::checkArguments"]);
3171
		
3171
 
3172
		#如果檢查參數失敗
3172
		#如果檢查參數失敗
3173
		if($checkArguments["status"]==="false"){
3173
		if($checkArguments["status"]==="false"){
3174
			
3174
 
3175
			#設置執行失敗
3175
			#設置執行失敗
3176
			$result["status"]="false";
3176
			$result["status"]="false";
3177
			
3177
 
3178
			#設置執行錯誤訊息
3178
			#設置執行錯誤訊息
3179
			$result["error"]=$checkArguments;
3179
			$result["error"]=$checkArguments;
3180
			
3180
 
3181
			#回傳結果
3181
			#回傳結果
3182
			return $result;
3182
			return $result;
3183
			
3183
 
3184
			}#if end
3184
			}#if end
3185
			
3185
 
3186
		#如果檢查參數不通過
3186
		#如果檢查參數不通過
3187
		if($checkArguments["passed"]==="false"){
3187
		if($checkArguments["passed"]==="false"){
3188
			
3188
 
3189
			#設置執行失敗
3189
			#設置執行失敗
3190
			$result["status"]="false";
3190
			$result["status"]="false";
3191
			
3191
 
3192
			#設置執行錯誤訊息
3192
			#設置執行錯誤訊息
3193
			$result["error"]=$checkArguments;
3193
			$result["error"]=$checkArguments;
3194
			
3194
 
3195
			#回傳結果
3195
			#回傳結果
3196
			return $result;
3196
			return $result;
3197
			
3197
 
3198
			}#if end
3198
			}#if end
3199
		
3199
 
3200
		#函式說明:
3200
		#函式說明:
3201
		#將字串特定關鍵字與其前面的內容剔除
3201
		#將字串特定關鍵字與其前面的內容剔除
3202
		#回傳結果:
3202
		#回傳結果:
3203
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3203
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3204
		#$result["error"],錯誤訊息陣列.
3204
		#$result["error"],錯誤訊息陣列.
Line 3210... Line 3210...
3210
		#必填參數:
3210
		#必填參數:
3211
		$conf["stringProcess::delStrBeforeKeyWord"]["stringIn"]=$conf["input"];#要處理的字串.
3211
		$conf["stringProcess::delStrBeforeKeyWord"]["stringIn"]=$conf["input"];#要處理的字串.
3212
		$conf["stringProcess::delStrBeforeKeyWord"]["keyWord"]=$conf["leftKeyWord"];#特定字串.
3212
		$conf["stringProcess::delStrBeforeKeyWord"]["keyWord"]=$conf["leftKeyWord"];#特定字串.
3213
		$delStrBeforeKeyWord=stringProcess::delStrBeforeKeyWord($conf["stringProcess::delStrBeforeKeyWord"]);
3213
		$delStrBeforeKeyWord=stringProcess::delStrBeforeKeyWord($conf["stringProcess::delStrBeforeKeyWord"]);
3214
		unset($conf["stringProcess::delStrBeforeKeyWord"]);
3214
		unset($conf["stringProcess::delStrBeforeKeyWord"]);
3215
		
3215
 
3216
		#如果移除關鍵字前的內容失敗
3216
		#如果移除關鍵字前的內容失敗
3217
		if($delStrBeforeKeyWord["status"]==="false"){
3217
		if($delStrBeforeKeyWord["status"]==="false"){
3218
			
3218
 
3219
			#設置執行失敗
3219
			#設置執行失敗
3220
			$result["status"]="false";
3220
			$result["status"]="false";
3221
			
3221
 
3222
			#設置執行錯誤訊息
3222
			#設置執行錯誤訊息
3223
			$result["error"]=$delStrBeforeKeyWord;
3223
			$result["error"]=$delStrBeforeKeyWord;
3224
			
3224
 
3225
			#回傳結果
3225
			#回傳結果
3226
			return $result;
3226
			return $result;
3227
			
3227
 
3228
			}#if end
3228
			}#if end
3229
			
3229
 
3230
		#如果沒有指定關鍵字
3230
		#如果沒有指定關鍵字
3231
		if($delStrBeforeKeyWord["founded"]==="false"){
3231
		if($delStrBeforeKeyWord["founded"]==="false"){
3232
			
3232
 
3233
			#設置執行失敗
3233
			#設置執行失敗
3234
			$result["status"]="false";
3234
			$result["status"]="false";
3235
			
3235
 
3236
			#設置執行錯誤訊息
3236
			#設置執行錯誤訊息
3237
			$result["error"]=$delStrBeforeKeyWord;
3237
			$result["error"]=$delStrBeforeKeyWord;
3238
			
3238
 
3239
			#回傳結果
3239
			#回傳結果
3240
			return $result;
3240
			return $result;
3241
			
3241
 
3242
			}#if end
3242
			}#if end
3243
			
3243
 
3244
		#取得處理好的字串
3244
		#取得處理好的字串
3245
		$parsedStr=$delStrBeforeKeyWord["content"];
3245
		$parsedStr=$delStrBeforeKeyWord["content"];
3246
			
3246
 
3247
		#函式說明:
3247
		#函式說明:
3248
		#將字串特定關鍵字與其後面的內容剔除
3248
		#將字串特定關鍵字與其後面的內容剔除
3249
		#回傳結果:
3249
		#回傳結果:
3250
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3250
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3251
		#$result["error"],錯誤訊息陣列.
3251
		#$result["error"],錯誤訊息陣列.
Line 3256... Line 3256...
3256
		#$result["content"],處理好的的字串內容.
3256
		#$result["content"],處理好的的字串內容.
3257
		#必填參數:
3257
		#必填參數:
3258
		$conf["stringProcess::delStrAfterKeyWord"]["stringIn"]=$parsedStr;#要處理的字串.
3258
		$conf["stringProcess::delStrAfterKeyWord"]["stringIn"]=$parsedStr;#要處理的字串.
3259
		$conf["stringProcess::delStrAfterKeyWord"]["keyWord"]=$conf["rightKeyWord"];#特定字串.
3259
		$conf["stringProcess::delStrAfterKeyWord"]["keyWord"]=$conf["rightKeyWord"];#特定字串.
3260
		$delStrAfterKeyWord=stringProcess::delStrAfterKeyWord($conf["stringProcess::delStrAfterKeyWord"]);
3260
		$delStrAfterKeyWord=stringProcess::delStrAfterKeyWord($conf["stringProcess::delStrAfterKeyWord"]);
3261
		unset($conf["stringProcess::delStrAfterKeyWord"]);	
3261
		unset($conf["stringProcess::delStrAfterKeyWord"]);
3262
			
3262
 
3263
		#如果移除關鍵字後的內容失敗
3263
		#如果移除關鍵字後的內容失敗
3264
		if($delStrAfterKeyWord["status"]==="false"){
3264
		if($delStrAfterKeyWord["status"]==="false"){
3265
			
3265
 
3266
			#設置執行失敗
3266
			#設置執行失敗
3267
			$result["status"]="false";
3267
			$result["status"]="false";
3268
			
3268
 
3269
			#設置執行錯誤訊息
3269
			#設置執行錯誤訊息
3270
			$result["error"]=$delStrAfterKeyWord;
3270
			$result["error"]=$delStrAfterKeyWord;
3271
			
3271
 
3272
			#回傳結果
3272
			#回傳結果
3273
			return $result;
3273
			return $result;
3274
			
3274
 
3275
			}#if end
3275
			}#if end
3276
			
3276
 
3277
		#如果沒有指定關鍵字
3277
		#如果沒有指定關鍵字
3278
		if($delStrAfterKeyWord["founded"]==="false"){
3278
		if($delStrAfterKeyWord["founded"]==="false"){
3279
			
3279
 
3280
			#設置執行失敗
3280
			#設置執行失敗
3281
			$result["status"]="false";
3281
			$result["status"]="false";
3282
			
3282
 
3283
			#設置執行錯誤訊息
3283
			#設置執行錯誤訊息
3284
			$result["error"]=$delStrAfterKeyWord;
3284
			$result["error"]=$delStrAfterKeyWord;
3285
			
3285
 
3286
			#回傳結果
3286
			#回傳結果
3287
			return $result;
3287
			return $result;
3288
			
3288
 
3289
			}#if end
3289
			}#if end
3290
			
3290
 
3291
		#取得處理好的字串
3291
		#取得處理好的字串
3292
		$parsedStr=$delStrAfterKeyWord["content"];	
3292
		$parsedStr=$delStrAfterKeyWord["content"];
3293
			
3293
 
3294
		#取得中間的內容
3294
		#取得中間的內容
3295
		$result["content"]=$parsedStr;
3295
		$result["content"]=$parsedStr;
3296
		
3296
 
3297
		#設置執行正常
3297
		#設置執行正常
3298
		$result["status"]="true";
3298
		$result["status"]="true";
3299
		
3299
 
3300
		#回傳結果
3300
		#回傳結果
3301
		return $result;
3301
		return $result;
3302
		
3302
 
3303
		}#function getContentBetweenKeyWord end
3303
		}#function getContentBetweenKeyWord end
3304
		
3304
 
3305
	/*
3305
	/*
3306
	#函式說明:
3306
	#函式說明:
3307
	#尋找檔案裡面有無關鍵字存在,取得其所在列數與內容.
3307
	#尋找檔案裡面有無關鍵字存在,取得其所在列數與內容.
3308
	#回傳結果:
3308
	#回傳結果:
3309
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3309
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 3327... Line 3327...
3327
	#無.
3327
	#無.
3328
	#備註:
3328
	#備註:
3329
	#無.
3329
	#無.
3330
	*/
3330
	*/
3331
	public static function findKeyWordInFile(&$conf){
3331
	public static function findKeyWordInFile(&$conf){
3332
		
3332
 
3333
		#初始化要回傳的結果
3333
		#初始化要回傳的結果
3334
		$result=array();
3334
		$result=array();
3335
 
3335
 
3336
		#取得當前執行的函數名稱
3336
		#取得當前執行的函數名稱
3337
		$result["function"]=__FUNCTION__;
3337
		$result["function"]=__FUNCTION__;
3338
 
3338
 
3339
		#如果沒有參數
3339
		#如果沒有參數
3340
		if(func_num_args()==0){
3340
		if(func_num_args()==0){
3341
			
3341
 
3342
			#設置執行失敗
3342
			#設置執行失敗
3343
			$result["status"]="false";
3343
			$result["status"]="false";
3344
			
3344
 
3345
			#設置執行錯誤訊息
3345
			#設置執行錯誤訊息
3346
			$result["error"]="函數".$result["function"]."需要參數";
3346
			$result["error"]="函數".$result["function"]."需要參數";
3347
			
3347
 
3348
			#回傳結果
3348
			#回傳結果
3349
			return $result;
3349
			return $result;
3350
			
3350
 
3351
			}#if end		
3351
			}#if end
3352
 
3352
 
3353
		#取得參數
3353
		#取得參數
3354
		$result["argu"]=$conf;
3354
		$result["argu"]=$conf;
3355
 
3355
 
3356
		#如果 $conf 不為陣列
3356
		#如果 $conf 不為陣列
3357
		if(gettype($conf)!=="array"){
3357
		if(gettype($conf)!=="array"){
3358
			
3358
 
3359
			#設置執行失敗
3359
			#設置執行失敗
3360
			$result["status"]="false";
3360
			$result["status"]="false";
3361
			
3361
 
3362
			#設置執行錯誤訊息
3362
			#設置執行錯誤訊息
3363
			$result["error"][]="\$conf變數須為陣列形態";
3363
			$result["error"][]="\$conf變數須為陣列形態";
3364
			
3364
 
3365
			#如果傳入的參數為 null
3365
			#如果傳入的參數為 null
3366
			if($conf===null){
3366
			if($conf===null){
3367
				
3367
 
3368
				#設置執行錯誤訊息
3368
				#設置執行錯誤訊息
3369
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
3369
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
3370
				
3370
 
3371
				}#if end
3371
				}#if end
3372
 
3372
 
3373
			#回傳結果
3373
			#回傳結果
3374
			return $result;
3374
			return $result;
3375
			
3375
 
3376
			}#if end
3376
			}#if end
3377
			
3377
 
3378
		#檢查參數
3378
		#檢查參數
3379
		#函式說明:
3379
		#函式說明:
3380
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
3380
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
3381
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3381
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3382
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
3382
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
Line 3388... Line 3388...
3388
		#必填寫的參數:
3388
		#必填寫的參數:
3389
		#$conf["variableCheck::checkArguments"]["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
3389
		#$conf["variableCheck::checkArguments"]["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
3390
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
3390
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
3391
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
3391
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
3392
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("fileAddr","keyWord","fileArgu");
3392
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("fileAddr","keyWord","fileArgu");
3393
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
3393
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double");
3394
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string","string","string");
3394
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string","string","string");
3395
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
3395
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
3396
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
3396
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
3397
		#可以省略的參數:
3397
		#可以省略的參數:
3398
		#$conf["variableCheck::checkArguments"]["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true"。
3398
		#$conf["variableCheck::checkArguments"]["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true"。
3399
		#$conf["variableCheck::checkArguments"]["canBeEmptyString"]="false";
3399
		#$conf["variableCheck::checkArguments"]["canBeEmptyString"]="false";
3400
		#$conf["variableCheck::checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
3400
		#$conf["variableCheck::checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
3401
		#$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("username","password","port","title","fullScreen","spicePassword");
3401
		#$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("username","password","port","title","fullScreen","spicePassword");
3402
		#$conf["variableCheck::checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
3402
		#$conf["variableCheck::checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
3403
		#$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string","string","string","string","string");
3403
		#$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string","string","string","string","string");
3404
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定,若預設值是必填參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
3404
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定,若預設值是必填參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
3405
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null,null,null,"false",null);
3405
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null,null,null,"false",null);
3406
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
3406
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
3407
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"][]=array();
3407
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"][]=array();
3408
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
3408
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
3409
		unset($conf["variableCheck::checkArguments"]);
3409
		unset($conf["variableCheck::checkArguments"]);
3410
		
3410
 
3411
		#如果檢查參數失敗
3411
		#如果檢查參數失敗
3412
		if($checkResult["status"]=="false"){
3412
		if($checkResult["status"]=="false"){
3413
			
3413
 
3414
			#設置執行失敗
3414
			#設置執行失敗
3415
			$result["status"]="false";
3415
			$result["status"]="false";
3416
			
3416
 
3417
			#設置執行錯誤
3417
			#設置執行錯誤
3418
			$result["error"]=$checkResult;
3418
			$result["error"]=$checkResult;
3419
			
3419
 
3420
			#回傳結果
3420
			#回傳結果
3421
			return $result;
3421
			return $result;
3422
			
3422
 
3423
			}#if end
3423
			}#if end
3424
			
3424
 
3425
		#如果檢查參數不通過
3425
		#如果檢查參數不通過
3426
		if($checkResult["passed"]=="false"){
3426
		if($checkResult["passed"]=="false"){
3427
			
3427
 
3428
			#設置執行失敗
3428
			#設置執行失敗
3429
			$result["status"]="false";
3429
			$result["status"]="false";
3430
			
3430
 
3431
			#設置執行錯誤
3431
			#設置執行錯誤
3432
			$result["error"]=$checkResult;
3432
			$result["error"]=$checkResult;
3433
			
3433
 
3434
			#回傳結果
3434
			#回傳結果
3435
			return $result;
3435
			return $result;
3436
			
3436
 
3437
			}#if end
3437
			}#if end
3438
			
3438
 
3439
		#轉換檔案路徑為相對於當前位置的路徑
3439
		#轉換檔案路徑為相對於當前位置的路徑
3440
		#函數說明:
3440
		#函數說明:
3441
		#將檔案的位置名稱變成網址,也可以取得檔案位於伺服器上檔案系統的絕對位置.
3441
		#將檔案的位置名稱變成網址,也可以取得檔案位於伺服器上檔案系統的絕對位置.
3442
		#回傳結果:
3442
		#回傳結果:
3443
		#$result["status"],"true"爲建立成功,"false"爲建立失敗.
3443
		#$result["status"],"true"爲建立成功,"false"爲建立失敗.
3444
		#$result["error"],錯誤訊息陣列.
3444
		#$result["error"],錯誤訊息陣列.
3445
		#$result["function"],函數名稱. 
3445
		#$result["function"],函數名稱.
3446
		#$result["content"],網址,若是在命令列執行,則為"null".
3446
		#$result["content"],網址,若是在命令列執行,則為"null".
3447
		#$result["webPathFromRoot"],相對於網頁根目錄的路徑.
3447
		#$result["webPathFromRoot"],相對於網頁根目錄的路徑.
3448
		#$result["fileSystemAbsoulutePosition"],針對伺服器端的絕對位置,亦即從網頁「/」目錄開始的路徑.
3448
		#$result["fileSystemAbsoulutePosition"],針對伺服器端的絕對位置,亦即從網頁「/」目錄開始的路徑.
3449
		#$result["fileSystemRelativePosition"],針對伺服器檔案系統的相對位置.
3449
		#$result["fileSystemRelativePosition"],針對伺服器檔案系統的相對位置.
3450
		#必填參數:
3450
		#必填參數:
Line 3457... Line 3457...
3457
		#$conf["userDir"]="true";
3457
		#$conf["userDir"]="true";
3458
		#備註:
3458
		#備註:
3459
		#在命令列執行,所得的路徑是錯誤的。
3459
		#在命令列執行,所得的路徑是錯誤的。
3460
		$getInternetAddress=fileAccess::getInternetAddress($conf["fileAccess::getInternetAddress"]);
3460
		$getInternetAddress=fileAccess::getInternetAddress($conf["fileAccess::getInternetAddress"]);
3461
		unset($conf["fileAccess::getInternetAddress"]);
3461
		unset($conf["fileAccess::getInternetAddress"]);
3462
		
3462
 
3463
		#如果解析檔案位置失敗
3463
		#如果解析檔案位置失敗
3464
		if($getInternetAddress["status"]==="false"){
3464
		if($getInternetAddress["status"]==="false"){
3465
			
3465
 
3466
			#設置執行失敗
3466
			#設置執行失敗
3467
			$result["status"]="false";
3467
			$result["status"]="false";
3468
			
3468
 
3469
			#設置執行錯誤
3469
			#設置執行錯誤
3470
			$result["error"]=$getInternetAddress;
3470
			$result["error"]=$getInternetAddress;
3471
			
3471
 
3472
			#回傳結果
3472
			#回傳結果
3473
			return $result;
3473
			return $result;
3474
			
3474
 
3475
			}#if end
3475
			}#if end
3476
			
3476
 
3477
		#取得檔案的相對位置
3477
		#取得檔案的相對位置
3478
		$fileRelativeAddr=$getInternetAddress["fileSystemRelativePosition"];
3478
		$fileRelativeAddr=$getInternetAddress["fileSystemRelativePosition"];
3479
		
3479
 
3480
		#取得檔案的絕對位置
3480
		#取得檔案的絕對位置
3481
		$fileAbsolute=$getInternetAddress["fileSystemAbsoulutePosition"];		
3481
		$fileAbsolute=$getInternetAddress["fileSystemAbsoulutePosition"];
3482
		
3482
 
3483
		#讀取檔案內容
3483
		#讀取檔案內容
3484
		#函式說明:
3484
		#函式說明:
3485
		#依據行號分隔抓取檔案的內容,結果會回傳一個陣列
3485
		#依據行號分隔抓取檔案的內容,結果會回傳一個陣列
3486
		#回傳的變數說明:
3486
		#回傳的變數說明:
3487
		#$result["status"],執行是否成功,"true"代表成功;"fasle"代表失敗.
3487
		#$result["status"],執行是否成功,"true"代表成功;"fasle"代表失敗.
Line 3501... Line 3501...
3501
		#file=>http:#php.net/manual/en/function.file.php
3501
		#file=>http:#php.net/manual/en/function.file.php
3502
		#rtrim(),剔除透過file()取得每行內容結尾的換行符號.
3502
		#rtrim(),剔除透過file()取得每行內容結尾的換行符號.
3503
		#filesize=>http://php.net/manual/en/function.filesize.php
3503
		#filesize=>http://php.net/manual/en/function.filesize.php
3504
		$getFileContent=fileAccess::getFileContent($conf["fileAccess::getFileContent"]);
3504
		$getFileContent=fileAccess::getFileContent($conf["fileAccess::getFileContent"]);
3505
		unset($conf["fileAccess::getFileContent"]);
3505
		unset($conf["fileAccess::getFileContent"]);
3506
		
3506
 
3507
		#如果讀取檔案內容失敗
3507
		#如果讀取檔案內容失敗
3508
		if($getFileContent["status"]==="false"){
3508
		if($getFileContent["status"]==="false"){
3509
			
3509
 
3510
			#設置執行失敗
3510
			#設置執行失敗
3511
			$result["status"]="false";
3511
			$result["status"]="false";
3512
			
3512
 
3513
			#設置執行錯誤
3513
			#設置執行錯誤
3514
			$result["error"]=$getInternetAddress;
3514
			$result["error"]=$getInternetAddress;
3515
			
3515
 
3516
			#回傳結果
3516
			#回傳結果
3517
			return $result;
3517
			return $result;
3518
			
3518
 
3519
			}#if end
3519
			}#if end
3520
		
3520
 
3521
		#設置沒有找到關鍵字
3521
		#設置沒有找到關鍵字
3522
		$result["founded"]="false";
3522
		$result["founded"]="false";
3523
		
3523
 
3524
		#針對每列內容
3524
		#針對每列內容
3525
		foreach($getFileContent["fileContent"] as $LN=>$LC){
3525
		foreach($getFileContent["fileContent"] as $LN=>$LC){
3526
			
3526
 
3527
			#搜尋含有關鍵字的列數	
3527
			#搜尋含有關鍵字的列數
3528
			$searchResult=strpos($LC,$conf["keyWord"]);
3528
			$searchResult=strpos($LC,$conf["keyWord"]);
3529
			
3529
 
3530
			#如果有搜尋到內容
3530
			#如果有搜尋到內容
3531
			if($searchResult!==false){
3531
			if($searchResult!==false){
3532
				
3532
 
3533
				#記錄列數
3533
				#記錄列數
3534
				$res["LN"]=$LN;
3534
				$res["LN"]=$LN;
3535
				
3535
 
3536
				#記錄內容
3536
				#記錄內容
3537
				$res["LC"]=$LC;				
3537
				$res["LC"]=$LC;
3538
				
3538
 
3539
				#儲存到要回傳的內容
3539
				#儲存到要回傳的內容
3540
				$result[]=$res;
3540
				$result[]=$res;
3541
				
3541
 
3542
				#設置有找到關鍵字
3542
				#設置有找到關鍵字
3543
				$result["founded"]="true";
3543
				$result["founded"]="true";
3544
				
3544
 
3545
				}#if end
3545
				}#if end
3546
			
3546
 
3547
			}#foreach end
3547
			}#foreach end
3548
			
3548
 
3549
		#設置執行正常
3549
		#設置執行正常
3550
		$result["status"]="true";
3550
		$result["status"]="true";
3551
		
3551
 
3552
		#回傳結果
3552
		#回傳結果
3553
		return $result;
3553
		return $result;
3554
		
3554
 
3555
		}#function findKeyWordInFile end
3555
		}#function findKeyWordInFile end
3556
		
3556
 
3557
	/*
3557
	/*
3558
	#函式說明:
3558
	#函式說明:
3559
	#尋找字串是否存在對應的關鍵字,且符合的最常關鍵字為何?
3559
	#尋找字串是否存在對應的關鍵字,且符合的最常關鍵字為何?
3560
	#回傳結果:
3560
	#回傳結果:
3561
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3561
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 3575... Line 3575...
3575
	#無.
3575
	#無.
3576
	#備註:
3576
	#備註:
3577
	#無.
3577
	#無.
3578
	*/
3578
	*/
3579
	public static function findLikelyStr(&$conf){
3579
	public static function findLikelyStr(&$conf){
3580
		
3580
 
3581
		#初始化要回傳的結果
3581
		#初始化要回傳的結果
3582
		$result=array();
3582
		$result=array();
3583
 
3583
 
3584
		#取得當前執行的函數名稱
3584
		#取得當前執行的函數名稱
3585
		$result["function"]=__FUNCTION__;
3585
		$result["function"]=__FUNCTION__;
3586
 
3586
 
3587
		#如果沒有參數
3587
		#如果沒有參數
3588
		if(func_num_args()==0){
3588
		if(func_num_args()==0){
3589
			
3589
 
3590
			#設置執行失敗
3590
			#設置執行失敗
3591
			$result["status"]="false";
3591
			$result["status"]="false";
3592
			
3592
 
3593
			#設置執行錯誤訊息
3593
			#設置執行錯誤訊息
3594
			$result["error"]="函數".$result["function"]."需要參數";
3594
			$result["error"]="函數".$result["function"]."需要參數";
3595
			
3595
 
3596
			#回傳結果
3596
			#回傳結果
3597
			return $result;
3597
			return $result;
3598
			
3598
 
3599
			}#if end		
3599
			}#if end
3600
 
3600
 
3601
		#取得參數
3601
		#取得參數
3602
		$result["argu"]=$conf;
3602
		$result["argu"]=$conf;
3603
 
3603
 
3604
		#如果 $conf 不為陣列
3604
		#如果 $conf 不為陣列
3605
		if(gettype($conf)!=="array"){
3605
		if(gettype($conf)!=="array"){
3606
			
3606
 
3607
			#設置執行失敗
3607
			#設置執行失敗
3608
			$result["status"]="false";
3608
			$result["status"]="false";
3609
			
3609
 
3610
			#設置執行錯誤訊息
3610
			#設置執行錯誤訊息
3611
			$result["error"][]="\$conf變數須為陣列形態";
3611
			$result["error"][]="\$conf變數須為陣列形態";
3612
			
3612
 
3613
			#如果傳入的參數為 null
3613
			#如果傳入的參數為 null
3614
			if($conf===null){
3614
			if($conf===null){
3615
				
3615
 
3616
				#設置執行錯誤訊息
3616
				#設置執行錯誤訊息
3617
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
3617
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
3618
				
3618
 
3619
				}#if end
3619
				}#if end
3620
 
3620
 
3621
			#回傳結果
3621
			#回傳結果
3622
			return $result;
3622
			return $result;
3623
			
3623
 
3624
			}#if end
3624
			}#if end
3625
			
3625
 
3626
		#檢查參數
3626
		#檢查參數
3627
		#函式說明:
3627
		#函式說明:
3628
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
3628
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
3629
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3629
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3630
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
3630
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
Line 3636... Line 3636...
3636
		#必填寫的參數:
3636
		#必填寫的參數:
3637
		#$conf["variableCheck::checkArguments"]["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
3637
		#$conf["variableCheck::checkArguments"]["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
3638
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
3638
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
3639
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
3639
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
3640
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("input","keyWord");
3640
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("input","keyWord");
3641
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
3641
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double");
3642
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string","array");
3642
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string","array");
3643
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
3643
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
3644
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
3644
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
3645
		#可以省略的參數:
3645
		#可以省略的參數:
3646
		#$conf["variableCheck::checkArguments"]["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true"。
3646
		#$conf["variableCheck::checkArguments"]["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true"。
3647
		$conf["variableCheck::checkArguments"]["canBeEmptyString"]="true";
3647
		$conf["variableCheck::checkArguments"]["canBeEmptyString"]="true";
3648
		#$conf["variableCheck::checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
3648
		#$conf["variableCheck::checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
3649
		#$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("username","password","port","title","fullScreen","spicePassword");
3649
		#$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("username","password","port","title","fullScreen","spicePassword");
3650
		#$conf["variableCheck::checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
3650
		#$conf["variableCheck::checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
3651
		#$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string","string","string","string","string");
3651
		#$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string","string","string","string","string");
3652
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定,若預設值是必填參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
3652
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定,若預設值是必填參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
3653
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null,null,null,"false",null);
3653
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null,null,null,"false",null);
3654
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
3654
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
3655
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"][]=array();
3655
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"][]=array();
3656
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
3656
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
3657
		unset($conf["variableCheck::checkArguments"]);
3657
		unset($conf["variableCheck::checkArguments"]);
3658
		
3658
 
3659
		#如果檢查參數失敗
3659
		#如果檢查參數失敗
3660
		if($checkResult["status"]=="false"){
3660
		if($checkResult["status"]=="false"){
3661
			
3661
 
3662
			#設置執行失敗
3662
			#設置執行失敗
3663
			$result["status"]="false";
3663
			$result["status"]="false";
3664
			
3664
 
3665
			#設置執行錯誤
3665
			#設置執行錯誤
3666
			$result["error"]=$checkResult;
3666
			$result["error"]=$checkResult;
3667
			
3667
 
3668
			#回傳結果
3668
			#回傳結果
3669
			return $result;
3669
			return $result;
3670
			
3670
 
3671
			}#if end
3671
			}#if end
3672
			
3672
 
3673
		#如果檢查參數不通過
3673
		#如果檢查參數不通過
3674
		if($checkResult["passed"]=="false"){
3674
		if($checkResult["passed"]=="false"){
3675
			
3675
 
3676
			#設置執行失敗
3676
			#設置執行失敗
3677
			$result["status"]="false";
3677
			$result["status"]="false";
3678
			
3678
 
3679
			#設置執行錯誤
3679
			#設置執行錯誤
3680
			$result["error"]=$checkResult;
3680
			$result["error"]=$checkResult;
3681
			
3681
 
3682
			#回傳結果
3682
			#回傳結果
3683
			return $result;
3683
			return $result;
3684
			
3684
 
3685
			}#if end
3685
			}#if end
3686
		
3686
 
3687
		#暫存符合的關鍵字
3687
		#暫存符合的關鍵字
3688
		$tmp="";
3688
		$tmp="";
3689
		
3689
 
3690
		#初始化未找到符合的關鍵字
3690
		#初始化未找到符合的關鍵字
3691
		$result["found"]="false";
3691
		$result["found"]="false";
3692
			
3692
 
3693
		#真對每個關鍵字
3693
		#真對每個關鍵字
3694
		foreach($conf["keyWord"] as $keyWord){
3694
		foreach($conf["keyWord"] as $keyWord){
3695
			
3695
 
3696
			#如果關鍵字為 ""
3696
			#如果關鍵字為 ""
3697
			if($keyWord===""){
3697
			if($keyWord===""){
3698
				
3698
 
3699
				#跳過
3699
				#跳過
3700
				continue;
3700
				continue;
3701
				
3701
 
3702
				}#if end
3702
				}#if end
3703
			
3703
 
3704
			#如果有符合的開頭關鍵字.
3704
			#如果有符合的開頭關鍵字.
3705
			if(strpos($conf["input"],$keyWord)===0){
3705
			if(strpos($conf["input"],$keyWord)===0){
3706
				
3706
 
3707
				#如果 $keyWord 大於已符合的關鍵字
3707
				#如果 $keyWord 大於已符合的關鍵字
3708
				if(strlen($keyWord)>strlen($tmp)){
3708
				if(strlen($keyWord)>strlen($tmp)){
3709
					
3709
 
3710
					#記錄起來
3710
					#記錄起來
3711
					$tmp=$keyWord;
3711
					$tmp=$keyWord;
3712
					
3712
 
3713
					#設置有找到關鍵字
3713
					#設置有找到關鍵字
3714
					$result["found"]="true";
3714
					$result["found"]="true";
3715
					
3715
 
3716
					}#if end
3716
					}#if end
3717
				
3717
 
3718
				}#if end
3718
				}#if end
3719
			
3719
 
3720
			}#foreach end	
3720
			}#foreach end
3721
		
3721
 
3722
		#設置找到的關鍵字
3722
		#設置找到的關鍵字
3723
		$result["content"]=$tmp;
3723
		$result["content"]=$tmp;
3724
		
3724
 
3725
		#設置執行正常
3725
		#設置執行正常
3726
		$result["status"]="true";
3726
		$result["status"]="true";
3727
		
3727
 
3728
		#回傳結果
3728
		#回傳結果
3729
		return $result;
3729
		return $result;
3730
		
3730
 
3731
		}#function find LikelyStr end
3731
		}#function find LikelyStr end
3732
 
3732
 
3733
	/*
3733
	/*
3734
	#函式說明:
3734
	#函式說明:
3735
	#尋找陣列中有無符合的key
3735
	#尋找陣列中有無符合的key
Line 3740... Line 3740...
3740
	#$result["argu"],所使用的參數.
3740
	#$result["argu"],所使用的參數.
3741
	#$result["founded"],是否有找到關鍵字,"true"代表有找到,"false"代表沒有找到.
3741
	#$result["founded"],是否有找到關鍵字,"true"代表有找到,"false"代表沒有找到.
3742
	#必填參數:
3742
	#必填參數:
3743
	#$conf["key"],字串,要尋找的key.
3743
	#$conf["key"],字串,要尋找的key.
3744
	$conf["key"]="";
3744
	$conf["key"]="";
3745
	#$conf["array"],陣列,要被搜尋的陣列.	
3745
	#$conf["array"],陣列,要被搜尋的陣列.
3746
	$conf["array"]=array();	
3746
	$conf["array"]=array();
3747
	#可省略參數:
3747
	#可省略參數:
3748
	#無.
3748
	#無.
3749
	#參考資料:
3749
	#參考資料:
3750
	#無.
3750
	#無.
3751
	#備註:
3751
	#備註:
3752
	#無.
3752
	#無.
3753
	*/	
3753
	*/
3754
	public static function findKeyInArray(&$conf){
3754
	public static function findKeyInArray(&$conf){
3755
 
3755
 
3756
		#初始化要回傳的結果
3756
		#初始化要回傳的結果
3757
		$result=array();
3757
		$result=array();
3758
 
3758
 
3759
		#取得當前執行的函數名稱
3759
		#取得當前執行的函數名稱
3760
		$result["function"]=__FUNCTION__;
3760
		$result["function"]=__FUNCTION__;
3761
 
3761
 
3762
		#如果沒有參數
3762
		#如果沒有參數
3763
		if(func_num_args()==0){
3763
		if(func_num_args()==0){
3764
			
3764
 
3765
			#設置執行失敗
3765
			#設置執行失敗
3766
			$result["status"]="false";
3766
			$result["status"]="false";
3767
			
3767
 
3768
			#設置執行錯誤訊息
3768
			#設置執行錯誤訊息
3769
			$result["error"]="函數".$result["function"]."需要參數";
3769
			$result["error"]="函數".$result["function"]."需要參數";
3770
			
3770
 
3771
			#回傳結果
3771
			#回傳結果
3772
			return $result;
3772
			return $result;
3773
			
3773
 
3774
			}#if end		
3774
			}#if end
3775
 
3775
 
3776
		#取得參數
3776
		#取得參數
3777
		$result["argu"]=$conf;
3777
		$result["argu"]=$conf;
3778
 
3778
 
3779
		#如果 $conf 不為陣列
3779
		#如果 $conf 不為陣列
3780
		if(gettype($conf)!=="array"){
3780
		if(gettype($conf)!=="array"){
3781
			
3781
 
3782
			#設置執行失敗
3782
			#設置執行失敗
3783
			$result["status"]="false";
3783
			$result["status"]="false";
3784
			
3784
 
3785
			#設置執行錯誤訊息
3785
			#設置執行錯誤訊息
3786
			$result["error"][]="\$conf變數須為陣列形態";
3786
			$result["error"][]="\$conf變數須為陣列形態";
3787
			
3787
 
3788
			#如果傳入的參數為 null
3788
			#如果傳入的參數為 null
3789
			if($conf===null){
3789
			if($conf===null){
3790
				
3790
 
3791
				#設置執行錯誤訊息
3791
				#設置執行錯誤訊息
3792
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
3792
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
3793
				
3793
 
3794
				}#if end
3794
				}#if end
3795
 
3795
 
3796
			#回傳結果
3796
			#回傳結果
3797
			return $result;
3797
			return $result;
3798
			
3798
 
3799
			}#if end
3799
			}#if end
3800
			
3800
 
3801
		#檢查參數
3801
		#檢查參數
3802
		#函式說明:
3802
		#函式說明:
3803
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
3803
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
3804
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3804
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3805
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
3805
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
Line 3811... Line 3811...
3811
		#必填寫的參數:
3811
		#必填寫的參數:
3812
		#$conf["variableCheck::checkArguments"]["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
3812
		#$conf["variableCheck::checkArguments"]["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
3813
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
3813
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
3814
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
3814
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
3815
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("key","array");
3815
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("key","array");
3816
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
3816
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double");
3817
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string","array");
3817
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string","array");
3818
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
3818
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
3819
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
3819
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
3820
		#可以省略的參數:
3820
		#可以省略的參數:
3821
		#$conf["variableCheck::checkArguments"]["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true"。
3821
		#$conf["variableCheck::checkArguments"]["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true"。
3822
		#$conf["variableCheck::checkArguments"]["canBeEmptyString"]="true";
3822
		#$conf["variableCheck::checkArguments"]["canBeEmptyString"]="true";
3823
		#$conf["variableCheck::checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
3823
		#$conf["variableCheck::checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
3824
		#$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("username","password","port","title","fullScreen","spicePassword");
3824
		#$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("username","password","port","title","fullScreen","spicePassword");
3825
		#$conf["variableCheck::checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
3825
		#$conf["variableCheck::checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
3826
		#$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string","string","string","string","string");
3826
		#$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string","string","string","string","string");
3827
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定,若預設值是必填參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
3827
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定,若預設值是必填參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
3828
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null,null,null,"false",null);
3828
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null,null,null,"false",null);
3829
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
3829
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
3830
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"][]=array();
3830
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"][]=array();
3831
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
3831
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
3832
		unset($conf["variableCheck::checkArguments"]);
3832
		unset($conf["variableCheck::checkArguments"]);
3833
		
3833
 
3834
		#如果檢查參數失敗
3834
		#如果檢查參數失敗
3835
		if($checkResult["status"]=="false"){
3835
		if($checkResult["status"]=="false"){
3836
			
3836
 
3837
			#設置執行失敗
3837
			#設置執行失敗
3838
			$result["status"]="false";
3838
			$result["status"]="false";
3839
			
3839
 
3840
			#設置執行錯誤
3840
			#設置執行錯誤
3841
			$result["error"]=$checkResult;
3841
			$result["error"]=$checkResult;
3842
			
3842
 
3843
			#回傳結果
3843
			#回傳結果
3844
			return $result;
3844
			return $result;
3845
			
3845
 
3846
			}#if end
3846
			}#if end
3847
			
3847
 
3848
		#如果檢查參數不通過
3848
		#如果檢查參數不通過
3849
		if($checkResult["passed"]=="false"){
3849
		if($checkResult["passed"]=="false"){
3850
			
3850
 
3851
			#設置執行失敗
3851
			#設置執行失敗
3852
			$result["status"]="false";
3852
			$result["status"]="false";
3853
			
3853
 
3854
			#設置執行錯誤
3854
			#設置執行錯誤
3855
			$result["error"]=$checkResult;
3855
			$result["error"]=$checkResult;
3856
			
3856
 
3857
			#回傳結果
3857
			#回傳結果
3858
			return $result;
3858
			return $result;
3859
			
3859
 
3860
			}#if end
3860
			}#if end
3861
 
3861
 
3862
		#初始設置沒有找到對應的key
3862
		#初始設置沒有找到對應的key
3863
		$result["founded"]="false";
3863
		$result["founded"]="false";
3864
 
3864
 
3865
		#針對每個陣列元素
3865
		#針對每個陣列元素
3866
		foreach($conf["array"] as $key=>$val){
3866
		foreach($conf["array"] as $key=>$val){
3867
 
3867
 
3868
			#debug
3868
			#debug
3869
			#var_dump($key);var_dump($conf["key"]);
3869
			#var_dump($key);var_dump($conf["key"]);
3870
	
3870
 
3871
			#如果找到相同的key
3871
			#如果找到相同的key
3872
			if((string)$key===$conf["key"]){
3872
			if((string)$key===$conf["key"]){
3873
 
3873
 
3874
				#設置有找到對應的key
3874
				#設置有找到對應的key
3875
				$result["founded"]="true";
3875
				$result["founded"]="true";
Line 3886... Line 3886...
3886
 
3886
 
3887
		#回傳結果
3887
		#回傳結果
3888
		return $result;
3888
		return $result;
3889
 
3889
 
3890
		}#function findKeyInArray end
3890
		}#function findKeyInArray end
3891
	
3891
 
3892
	/*
3892
	/*
3893
	#函式說明:
3893
	#函式說明:
3894
	#判斷字串是否都為同一內容組成.
3894
	#判斷字串是否都為同一內容組成.
3895
	#回傳結果:
3895
	#回傳結果:
3896
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3896
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 3909... Line 3909...
3909
	#無.
3909
	#無.
3910
	#備註:
3910
	#備註:
3911
	#無.
3911
	#無.
3912
	*/
3912
	*/
3913
	public static function checkStrEqual(&$conf){
3913
	public static function checkStrEqual(&$conf){
3914
	
3914
 
3915
		#初始化要回傳的結果
3915
		#初始化要回傳的結果
3916
		$result=array();
3916
		$result=array();
3917
 
3917
 
3918
		#取得當前執行的函數名稱
3918
		#取得當前執行的函數名稱
3919
		$result["function"]=__FUNCTION__;
3919
		$result["function"]=__FUNCTION__;
Line 3954... Line 3954...
3954
 
3954
 
3955
			#回傳結果
3955
			#回傳結果
3956
			return $result;
3956
			return $result;
3957
 
3957
 
3958
			}#if end
3958
			}#if end
3959
			
3959
 
3960
		#函式說明:
3960
		#函式說明:
3961
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
3961
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
3962
		#回傳結果:
3962
		#回傳結果:
3963
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3963
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
3964
		#$result["error"],執行不正常結束的錯訊息陣列.
3964
		#$result["error"],執行不正常結束的錯訊息陣列.
Line 4009... Line 4009...
4009
		#array_keys=>http://php.net/manual/en/function.array-keys.php
4009
		#array_keys=>http://php.net/manual/en/function.array-keys.php
4010
		#備註:
4010
		#備註:
4011
		#無.
4011
		#無.
4012
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
4012
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
4013
		unset($conf["variableCheck::checkArguments"]);
4013
		unset($conf["variableCheck::checkArguments"]);
4014
	
4014
 
4015
		#如果執行失敗
4015
		#如果執行失敗
4016
		if($checkArguments["status"]==="false"){
4016
		if($checkArguments["status"]==="false"){
4017
		
4017
 
4018
			#設置錯誤訊息
4018
			#設置錯誤訊息
4019
			$result["error"]=$checkArguments;
4019
			$result["error"]=$checkArguments;
4020
		
4020
 
4021
			#設置執行錯誤
4021
			#設置執行錯誤
4022
			$result["status"]="false";
4022
			$result["status"]="false";
4023
		
4023
 
4024
			#回傳結果
4024
			#回傳結果
4025
			return $result;
4025
			return $result;
4026
		
4026
 
4027
			}#if end
4027
			}#if end
4028
	
4028
 
4029
		#如果檢查不通過
4029
		#如果檢查不通過
4030
		if($checkArguments["passed"]==="false"){
4030
		if($checkArguments["passed"]==="false"){
4031
		
4031
 
4032
			#設置錯誤訊息
4032
			#設置錯誤訊息
4033
			$result["error"]=$checkArguments;
4033
			$result["error"]=$checkArguments;
4034
		
4034
 
4035
			#設置執行錯誤
4035
			#設置執行錯誤
4036
			$result["status"]="false";
4036
			$result["status"]="false";
4037
		
4037
 
4038
			#回傳結果
4038
			#回傳結果
4039
			return $result;
4039
			return $result;
4040
		
4040
 
4041
			}#if end
4041
			}#if end
4042
	
4042
 
4043
		#函式說明:
4043
		#函式說明:
4044
		#將字串特定關鍵字與其前面的內容剔除
4044
		#將字串特定關鍵字與其前面的內容剔除
4045
		#回傳結果:
4045
		#回傳結果:
4046
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
4046
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
4047
		#$result["error"],錯誤訊息陣列.
4047
		#$result["error"],錯誤訊息陣列.
Line 4066... Line 4066...
4066
		#無.
4066
		#無.
4067
		#備註:
4067
		#備註:
4068
		#無.
4068
		#無.
4069
		$delStrBeforeKeyWord=stringProcess::delStrBeforeKeyWord($conf["stringProcess::delStrBeforeKeyWord"]);
4069
		$delStrBeforeKeyWord=stringProcess::delStrBeforeKeyWord($conf["stringProcess::delStrBeforeKeyWord"]);
4070
		unset($conf["stringProcess::delStrBeforeKeyWord"]);
4070
		unset($conf["stringProcess::delStrBeforeKeyWord"]);
4071
	
4071
 
4072
		#如果執行失敗
4072
		#如果執行失敗
4073
		if($delStrBeforeKeyWord["status"]==="false"){
4073
		if($delStrBeforeKeyWord["status"]==="false"){
4074
		
4074
 
4075
			#設置錯誤識別
4075
			#設置錯誤識別
4076
			$result["status"]="false";
4076
			$result["status"]="false";
4077
			
4077
 
4078
			#設置錯誤訊息
4078
			#設置錯誤訊息
4079
			$result["error"]=$delStrBeforeKeyWord;
4079
			$result["error"]=$delStrBeforeKeyWord;
4080
			
4080
 
4081
			#回傳結果
4081
			#回傳結果
4082
			return $result;
4082
			return $result;
4083
		
4083
 
4084
			}#if end
4084
			}#if end
4085
		
4085
 
4086
		#預設沒有符合
4086
		#預設沒有符合
4087
		$result["equal"]="false";
4087
		$result["equal"]="false";
4088
		
4088
 
4089
		#如果有找到關鍵字
4089
		#如果有找到關鍵字
4090
		if($delStrBeforeKeyWord["founded"]==="true"){
4090
		if($delStrBeforeKeyWord["founded"]==="true"){
4091
		
4091
 
4092
			#若處理好的內容為"",則代表變數名稱是否都為 "$conf["keyWord"]" 所組成
4092
			#若處理好的內容為"",則代表變數名稱是否都為 "$conf["keyWord"]" 所組成
4093
			if($delStrBeforeKeyWord["content"]===""){
4093
			if($delStrBeforeKeyWord["content"]===""){
4094
			
4094
 
4095
				#設置有符合
4095
				#設置有符合
4096
				$result["equal"]="true";
4096
				$result["equal"]="true";
4097
			
4097
 
4098
				}#if end
4098
				}#if end
4099
		
4099
 
4100
			}#if end
4100
			}#if end
4101
			
4101
 
4102
		#設置執行正常
4102
		#設置執行正常
4103
		$result["status"]="true";
4103
		$result["status"]="true";
4104
			
4104
 
4105
		#回傳結果
4105
		#回傳結果
4106
		return $result;	
4106
		return $result;
4107
	
4107
 
4108
		}#function checkStrEqual end
4108
		}#function checkStrEqual end
4109
	
4109
 
4110
	/*
4110
	/*
4111
	#函式說明:
4111
	#函式說明:
4112
	#尋找字串中是否含有符合格式的內容,且回傳解析好的變數數值.
4112
	#尋找字串中是否含有符合格式的內容,且回傳解析好的變數數值.
4113
	#回傳結果:
4113
	#回傳結果:
4114
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
4114
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 4132... Line 4132...
4132
	#無.
4132
	#無.
4133
	#備註:
4133
	#備註:
4134
	#無.
4134
	#無.
4135
	*/
4135
	*/
4136
	public static function findSpecifyStrFormat(&$conf){
4136
	public static function findSpecifyStrFormat(&$conf){
4137
	
4137
 
4138
		#初始化要回傳的結果
4138
		#初始化要回傳的結果
4139
		$result=array();
4139
		$result=array();
4140
 
4140
 
4141
		#取得當前執行的函數名稱
4141
		#取得當前執行的函數名稱
4142
		$result["function"]=__FUNCTION__;
4142
		$result["function"]=__FUNCTION__;
Line 4177... Line 4177...
4177
 
4177
 
4178
			#回傳結果
4178
			#回傳結果
4179
			return $result;
4179
			return $result;
4180
 
4180
 
4181
			}#if end
4181
			}#if end
4182
			
4182
 
4183
		#函式說明:
4183
		#函式說明:
4184
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
4184
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
4185
		#回傳結果:
4185
		#回傳結果:
4186
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
4186
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
4187
		#$result["error"],執行不正常結束的錯訊息陣列.
4187
		#$result["error"],執行不正常結束的錯訊息陣列.
Line 4232... Line 4232...
4232
		#array_keys=>http://php.net/manual/en/function.array-keys.php
4232
		#array_keys=>http://php.net/manual/en/function.array-keys.php
4233
		#備註:
4233
		#備註:
4234
		#無.
4234
		#無.
4235
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
4235
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
4236
		unset($conf["variableCheck::checkArguments"]);
4236
		unset($conf["variableCheck::checkArguments"]);
4237
	
4237
 
4238
		#如果執行失敗
4238
		#如果執行失敗
4239
		if($checkArguments["status"]==="false"){
4239
		if($checkArguments["status"]==="false"){
4240
		
4240
 
4241
			#設置錯誤訊息
4241
			#設置錯誤訊息
4242
			$result["error"]=$checkArguments;
4242
			$result["error"]=$checkArguments;
4243
		
4243
 
4244
			#設置執行錯誤
4244
			#設置執行錯誤
4245
			$result["status"]="false";
4245
			$result["status"]="false";
4246
		
4246
 
4247
			#回傳結果
4247
			#回傳結果
4248
			return $result;
4248
			return $result;
4249
		
4249
 
4250
			}#if end
4250
			}#if end
4251
	
4251
 
4252
		#如果檢查不通過
4252
		#如果檢查不通過
4253
		if($checkArguments["passed"]==="false"){
4253
		if($checkArguments["passed"]==="false"){
4254
		
4254
 
4255
			#設置錯誤訊息
4255
			#設置錯誤訊息
4256
			$result["error"]=$checkArguments;
4256
			$result["error"]=$checkArguments;
4257
		
4257
 
4258
			#設置執行錯誤
4258
			#設置執行錯誤
4259
			$result["status"]="false";
4259
			$result["status"]="false";
4260
		
4260
 
4261
			#回傳結果
4261
			#回傳結果
4262
			return $result;
4262
			return $result;
4263
		
4263
 
4264
			}#if end
4264
			}#if end
4265
		
4265
 
4266
		#初始化儲存解析好的變數資訊陣列
4266
		#初始化儲存解析好的變數資訊陣列
4267
		$result["parsedVar"]=array();
4267
		$result["parsedVar"]=array();
4268
		
4268
 
4269
		#另存一份input
4269
		#另存一份input
4270
		$modifiedInput=$conf["input"];
4270
		$modifiedInput=$conf["input"];
4271
			
4271
 
4272
		#預設分段的關鍵字為空
4272
		#預設分段的關鍵字為空
4273
		$keyWordPart=array();
4273
		$keyWordPart=array();
4274
		
4274
 
4275
		#預設該行的變數為空
4275
		#預設該行的變數為空
4276
		$varPart=array();
4276
		$varPart=array();
4277
		
4277
 
4278
		#關鍵字行的結構順序
4278
		#關鍵字行的結構順序
4279
		$OderOfPartInLine=array();
4279
		$OderOfPartInLine=array();
4280
		
4280
 
4281
		#無窮回圈,解析格式字串
4281
		#無窮回圈,解析格式字串
4282
		while(true){
4282
		while(true){
4283
		
4283
 
4284
			#判斷 format 是否含有 "${"、"}" 關鍵字
4284
			#判斷 format 是否含有 "${"、"}" 關鍵字
4285
			#函式說明:
4285
			#函式說明:
4286
			#檢查一個字串裡面是否有多個關鍵字
4286
			#檢查一個字串裡面是否有多個關鍵字
4287
			#回傳結果:
4287
			#回傳結果:
4288
			#$result["status"],"true"代表執行成功,"false"代表執行失敗.
4288
			#$result["status"],"true"代表執行成功,"false"代表執行失敗.
Line 4304... Line 4304...
4304
			#無.
4304
			#無.
4305
			#備註:
4305
			#備註:
4306
			#無.
4306
			#無.
4307
			$findManyKeyWords=search::findManyKeyWords($conf["search::findManyKeyWords"]);
4307
			$findManyKeyWords=search::findManyKeyWords($conf["search::findManyKeyWords"]);
4308
			unset($conf["search::findManyKeyWords"]);
4308
			unset($conf["search::findManyKeyWords"]);
4309
			
4309
 
4310
			#如果執行失敗
4310
			#如果執行失敗
4311
			if($findManyKeyWords["status"]==="false"){
4311
			if($findManyKeyWords["status"]==="false"){
4312
			
4312
 
4313
				#設置錯誤識別
4313
				#設置錯誤識別
4314
				$result["status"]="false";
4314
				$result["status"]="false";
4315
				
4315
 
4316
				#設置錯誤訊息
4316
				#設置錯誤訊息
4317
				$result["error"]=$findManyKeyWords;
4317
				$result["error"]=$findManyKeyWords;
4318
				
4318
 
4319
				#回傳結果
4319
				#回傳結果
4320
				return $result;
4320
				return $result;
4321
			
4321
 
4322
				}#if end
4322
				}#if end
4323
				
4323
 
4324
			#如果有 "${"、"}" 存在
4324
			#如果有 "${"、"}" 存在
4325
			if($findManyKeyWords["foundedAll"]==="true"){
4325
			if($findManyKeyWords["foundedAll"]==="true"){
4326
			
4326
 
4327
				#debug
4327
				#debug
4328
				#var_dump(__LINE__,$findManyKeyWords);
4328
				#var_dump(__LINE__,$findManyKeyWords);
4329
			
4329
 
4330
				#取得 ${... 前面的部分
4330
				#取得 ${... 前面的部分
4331
				#函式說明:
4331
				#函式說明:
4332
				#將字串特定關鍵字與其後面的內容剔除
4332
				#將字串特定關鍵字與其後面的內容剔除
4333
				#回傳結果:
4333
				#回傳結果:
4334
				#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
4334
				#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 4351... Line 4351...
4351
				#無.
4351
				#無.
4352
				#備註:
4352
				#備註:
4353
				#無.
4353
				#無.
4354
				$delStrAfterKeyWord=stringProcess::delStrAfterKeyWord($conf["stringProcess::delStrAfterKeyWord"]);
4354
				$delStrAfterKeyWord=stringProcess::delStrAfterKeyWord($conf["stringProcess::delStrAfterKeyWord"]);
4355
				unset($conf["stringProcess::delStrAfterKeyWord"]);
4355
				unset($conf["stringProcess::delStrAfterKeyWord"]);
4356
				
4356
 
4357
				#debug
4357
				#debug
4358
				#var_dump(__LINE__,$delStrAfterKeyWord);
4358
				#var_dump(__LINE__,$delStrAfterKeyWord);
4359
				
4359
 
4360
				#如果執行失敗
4360
				#如果執行失敗
4361
				if($delStrAfterKeyWord["status"]==="false"){
4361
				if($delStrAfterKeyWord["status"]==="false"){
4362
				
4362
 
4363
					#設置錯誤識別
4363
					#設置錯誤識別
4364
					$result["status"]="false";
4364
					$result["status"]="false";
4365
					
4365
 
4366
					#設置錯誤訊息
4366
					#設置錯誤訊息
4367
					$result["error"]=$delStrAfterKeyWord;
4367
					$result["error"]=$delStrAfterKeyWord;
4368
					
4368
 
4369
					#回傳結果
4369
					#回傳結果
4370
					return $result;
4370
					return $result;
4371
				
4371
 
4372
					}#if end
4372
					}#if end
4373
					
4373
 
4374
				#如果要有關鍵字找不到
4374
				#如果要有關鍵字找不到
4375
				if($delStrAfterKeyWord["founded"]==="false"){
4375
				if($delStrAfterKeyWord["founded"]==="false"){
4376
				
4376
 
4377
					#設置錯誤識別
4377
					#設置錯誤識別
4378
					$result["status"]="false";
4378
					$result["status"]="false";
4379
					
4379
 
4380
					#設置錯誤訊息
4380
					#設置錯誤訊息
4381
					$result["error"]=$delStrAfterKeyWord;
4381
					$result["error"]=$delStrAfterKeyWord;
4382
					
4382
 
4383
					#回傳結果
4383
					#回傳結果
4384
					return $result;
4384
					return $result;
4385
				
4385
 
4386
					}#if end
4386
					}#if end
4387
				
4387
 
4388
				#如果前面有內容
4388
				#如果前面有內容
4389
				if($delStrAfterKeyWord["content"]!==""){
4389
				if($delStrAfterKeyWord["content"]!==""){
4390
				
4390
 
4391
					#儲存該行的關鍵字之一
4391
					#儲存該行的關鍵字之一
4392
					$keyWordPart[]=$delStrAfterKeyWord["content"];
4392
					$keyWordPart[]=$delStrAfterKeyWord["content"];
4393
				
4393
 
4394
					#暫存的關鍵字資訊
4394
					#暫存的關鍵字資訊
4395
					$tmp=array("name"=>"keyWordPart","index"=>count($keyWordPart)-1,"value"=>$keyWordPart[count($keyWordPart)-1]);
4395
					$tmp=array("name"=>"keyWordPart","index"=>count($keyWordPart)-1,"value"=>$keyWordPart[count($keyWordPart)-1]);
4396
 
4396
 
4397
					#設置順序資訊
4397
					#設置順序資訊
4398
					$OderOfPartInLine[]=$tmp;
4398
					$OderOfPartInLine[]=$tmp;
4399
				
4399
 
4400
					}#if end
4400
					}#if end
4401
				
4401
 
4402
				#取得 }... 前面的部分
4402
				#取得 }... 前面的部分
4403
				#函式說明:
4403
				#函式說明:
4404
				#將字串特定關鍵字與其後面的內容剔除
4404
				#將字串特定關鍵字與其後面的內容剔除
4405
				#回傳結果:
4405
				#回傳結果:
4406
				#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
4406
				#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 4423... Line 4423...
4423
				#無.
4423
				#無.
4424
				#備註:
4424
				#備註:
4425
				#無.
4425
				#無.
4426
				$delStrAfterKeyWord=stringProcess::delStrAfterKeyWord($conf["stringProcess::delStrAfterKeyWord"]);
4426
				$delStrAfterKeyWord=stringProcess::delStrAfterKeyWord($conf["stringProcess::delStrAfterKeyWord"]);
4427
				unset($conf["stringProcess::delStrAfterKeyWord"]);
4427
				unset($conf["stringProcess::delStrAfterKeyWord"]);
4428
				
4428
 
4429
				#debug
4429
				#debug
4430
				#var_dump(__LINE__,$delStrAfterKeyWord);
4430
				#var_dump(__LINE__,$delStrAfterKeyWord);
4431
				
4431
 
4432
				#如果執行失敗
4432
				#如果執行失敗
4433
				if($delStrAfterKeyWord["status"]==="false"){
4433
				if($delStrAfterKeyWord["status"]==="false"){
4434
				
4434
 
4435
					#設置錯誤識別
4435
					#設置錯誤識別
4436
					$result["status"]="false";
4436
					$result["status"]="false";
4437
					
4437
 
4438
					#設置錯誤訊息
4438
					#設置錯誤訊息
4439
					$result["error"]=$delStrAfterKeyWord;
4439
					$result["error"]=$delStrAfterKeyWord;
4440
					
4440
 
4441
					#回傳結果
4441
					#回傳結果
4442
					return $result;
4442
					return $result;
4443
				
4443
 
4444
					}#if end
4444
					}#if end
4445
					
4445
 
4446
				#如果要有關鍵字找不到
4446
				#如果要有關鍵字找不到
4447
				if($delStrAfterKeyWord["founded"]==="false"){
4447
				if($delStrAfterKeyWord["founded"]==="false"){
4448
				
4448
 
4449
					#設置錯誤識別
4449
					#設置錯誤識別
4450
					$result["status"]="false";
4450
					$result["status"]="false";
4451
					
4451
 
4452
					#設置錯誤訊息
4452
					#設置錯誤訊息
4453
					$result["error"]=$delStrAfterKeyWord;
4453
					$result["error"]=$delStrAfterKeyWord;
4454
					
4454
 
4455
					#回傳結果
4455
					#回傳結果
4456
					return $result;
4456
					return $result;
4457
				
4457
 
4458
					}#if end
4458
					}#if end
4459
				
4459
 
4460
				#var_dump($delStrAfterKeyWord["content"]."}");
4460
				#var_dump($delStrAfterKeyWord["content"]."}");
4461
				
4461
 
4462
				#儲存該行的變數名稱之一
4462
				#儲存該行的變數名稱之一
4463
				$varPart[]=$delStrAfterKeyWord["content"]."}";
4463
				$varPart[]=$delStrAfterKeyWord["content"]."}";
4464
				
4464
 
4465
				#移除 "}" 其面的內容
4465
				#移除 "}" 其面的內容
4466
				#函式說明:
4466
				#函式說明:
4467
				#將字串特定關鍵字與其前面的內容剔除
4467
				#將字串特定關鍵字與其前面的內容剔除
4468
				#回傳結果:
4468
				#回傳結果:
4469
				#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
4469
				#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 4489... Line 4489...
4489
				#無.
4489
				#無.
4490
				#備註:
4490
				#備註:
4491
				#無.
4491
				#無.
4492
				$delStrBeforeKeyWord=stringProcess::delStrBeforeKeyWord($conf["stringProcess::delStrBeforeKeyWord"]);
4492
				$delStrBeforeKeyWord=stringProcess::delStrBeforeKeyWord($conf["stringProcess::delStrBeforeKeyWord"]);
4493
				unset($conf["stringProcess::delStrBeforeKeyWord"]);
4493
				unset($conf["stringProcess::delStrBeforeKeyWord"]);
4494
				
4494
 
4495
				#如果執行失敗
4495
				#如果執行失敗
4496
				if($delStrBeforeKeyWord["status"]==="false"){
4496
				if($delStrBeforeKeyWord["status"]==="false"){
4497
				
4497
 
4498
					#設置錯誤識別
4498
					#設置錯誤識別
4499
					$result["status"]="false";
4499
					$result["status"]="false";
4500
					
4500
 
4501
					#設置錯誤訊息
4501
					#設置錯誤訊息
4502
					$result["error"]=$delStrBeforeKeyWord;
4502
					$result["error"]=$delStrBeforeKeyWord;
4503
					
4503
 
4504
					#回傳結果
4504
					#回傳結果
4505
					return $result;
4505
					return $result;
4506
				
4506
 
4507
					}#if end
4507
					}#if end
4508
					
4508
 
4509
				#如果要有關鍵字找不到
4509
				#如果要有關鍵字找不到
4510
				if($delStrBeforeKeyWord["founded"]==="false"){
4510
				if($delStrBeforeKeyWord["founded"]==="false"){
4511
				
4511
 
4512
					#設置錯誤識別
4512
					#設置錯誤識別
4513
					$result["status"]="false";
4513
					$result["status"]="false";
4514
					
4514
 
4515
					#設置錯誤訊息
4515
					#設置錯誤訊息
4516
					$result["error"]=$delStrBeforeKeyWord;
4516
					$result["error"]=$delStrBeforeKeyWord;
4517
					
4517
 
4518
					#回傳結果
4518
					#回傳結果
4519
					return $result;
4519
					return $result;
4520
				
4520
 
4521
					}#if end
4521
					}#if end
4522
				
4522
 
4523
				#debug
4523
				#debug
4524
				#var_dump(__LINE__,$delStrBeforeKeyWord);
4524
				#var_dump(__LINE__,$delStrBeforeKeyWord);
4525
				
4525
 
4526
				#取得剩下的格式字串部分
4526
				#取得剩下的格式字串部分
4527
				$conf["format"]=$delStrBeforeKeyWord["content"];
4527
				$conf["format"]=$delStrBeforeKeyWord["content"];
4528
				
4528
 
4529
				#暫存的關鍵字資訊
4529
				#暫存的關鍵字資訊
4530
				$tmp=array("name"=>"varPart","index"=>count($varPart)-1,"value"=>$varPart[count($varPart)-1]);
4530
				$tmp=array("name"=>"varPart","index"=>count($varPart)-1,"value"=>$varPart[count($varPart)-1]);
4531
 
4531
 
4532
				#設置順序資訊
4532
				#設置順序資訊
4533
				$OderOfPartInLine[]=$tmp;
4533
				$OderOfPartInLine[]=$tmp;
4534
				
4534
 
4535
				}#if end
4535
				}#if end
4536
		
4536
 
4537
			#反之
4537
			#反之
4538
			else{
4538
			else{
4539
			
4539
 
4540
				#若有剩下的內容
4540
				#若有剩下的內容
4541
				if(!empty($conf["format"])){
4541
				if(!empty($conf["format"])){
4542
				
4542
 
4543
					#儲存剩下的內容為關鍵字之一
4543
					#儲存剩下的內容為關鍵字之一
4544
					$keyWordPart[]=$conf["format"];
4544
					$keyWordPart[]=$conf["format"];
4545
				
4545
 
4546
					#暫存的關鍵字資訊
4546
					#暫存的關鍵字資訊
4547
					$tmp=array("name"=>"keyWordPart","index"=>count($keyWordPart)-1,"value"=>$keyWordPart[count($keyWordPart)-1]);
4547
					$tmp=array("name"=>"keyWordPart","index"=>count($keyWordPart)-1,"value"=>$keyWordPart[count($keyWordPart)-1]);
4548
 
4548
 
4549
					#設置順序資訊
4549
					#設置順序資訊
4550
					$OderOfPartInLine[]=$tmp;
4550
					$OderOfPartInLine[]=$tmp;
4551
				
4551
 
4552
					}#if end
4552
					}#if end
4553
				
4553
 
4554
				#結束格式字串的解析
4554
				#結束格式字串的解析
4555
				break;
4555
				break;
4556
			
4556
 
4557
				}#else end
4557
				}#else end
4558
		
4558
 
4559
			}#while end
4559
			}#while end
4560
		
4560
 
4561
		#如果沒有解析出格式字串,代表關鍵字為空字串.
4561
		#如果沒有解析出格式字串,代表關鍵字為空字串.
4562
		if($OderOfPartInLine===array()){
4562
		if($OderOfPartInLine===array()){
4563
		
4563
 
4564
			#儲存剩下的內容為關鍵字之一
4564
			#儲存剩下的內容為關鍵字之一
4565
			$keyWordPart[]=$conf["format"];
4565
			$keyWordPart[]=$conf["format"];
4566
		
4566
 
4567
			#暫存的關鍵字資訊
4567
			#暫存的關鍵字資訊
4568
			$tmp=array("name"=>"keyWordPart","index"=>0,"value"=>$conf["format"]);
4568
			$tmp=array("name"=>"keyWordPart","index"=>0,"value"=>$conf["format"]);
4569
 
4569
 
4570
			#設置順序資訊
4570
			#設置順序資訊
4571
			$OderOfPartInLine[]=$tmp;
4571
			$OderOfPartInLine[]=$tmp;
4572
		
4572
 
4573
			}#if end
4573
			}#if end
4574
		
4574
 
4575
		#debug
4575
		#debug
4576
		#var_dump(__LINE__,$OderOfPartInLine);
4576
		#var_dump(__LINE__,$OderOfPartInLine);
4577
		
4577
 
4578
		#如果有關鍵字片段與變數的順序存在
4578
		#如果有關鍵字片段與變數的順序存在
4579
		if( count($OderOfPartInLine)>0 ){
4579
		if( count($OderOfPartInLine)>0 ){
4580
			
4580
 
4581
			#debug
4581
			#debug
4582
			#var_dump(__LINE__,$OderOfPartInLine);
4582
			#var_dump(__LINE__,$OderOfPartInLine);
4583
			
4583
 
4584
			#預設一開始 varPart 的計數為 0
4584
			#預設一開始 varPart 的計數為 0
4585
			$varPartCount=0;
4585
			$varPartCount=0;
4586
			
4586
 
4587
			#針對每個資訊
4587
			#針對每個資訊
4588
			foreach($OderOfPartInLine as $index=>$condition){
4588
			foreach($OderOfPartInLine as $index=>$condition){
4589
				
4589
 
4590
				#debug
4590
				#debug
4591
				#var_dump(__LINE__,$index,$condition);
4591
				#var_dump(__LINE__,$index,$condition);
4592
				
4592
 
4593
				#判斷資訊
4593
				#判斷資訊
4594
				switch($condition["name"]){
4594
				switch($condition["name"]){
4595
				
4595
 
4596
					#如果是 "keyWordPart"
4596
					#如果是 "keyWordPart"
4597
					case "keyWordPart":
4597
					case "keyWordPart":
4598
					
4598
 
4599
						#確認是否開頭有符號
4599
						#確認是否開頭有符號
4600
						
4600
 
4601
						#函式說明:
4601
						#函式說明:
4602
						#取得關鍵字在字串的哪個位置(字首,字尾,中間)
4602
						#取得關鍵字在字串的哪個位置(字首,字尾,中間)
4603
						#回傳結果:
4603
						#回傳結果:
4604
						#$result["status"],執行成功與否,若爲"true",代表執行成功,若爲"false"代表執失敗。
4604
						#$result["status"],執行成功與否,若爲"true",代表執行成功,若爲"false"代表執失敗。
4605
						#$result["error"],錯誤訊息陣列.
4605
						#$result["error"],錯誤訊息陣列.
Line 4622... Line 4622...
4622
						#http://php.net/manual/en/function.strpos.php
4622
						#http://php.net/manual/en/function.strpos.php
4623
						#備註:
4623
						#備註:
4624
						#無.
4624
						#無.
4625
						$findKeyWordPosition=search::findKeyWordPosition($conf["search::findKeyWordPosition"]);
4625
						$findKeyWordPosition=search::findKeyWordPosition($conf["search::findKeyWordPosition"]);
4626
						unset($conf["search::findKeyWordPosition"]);
4626
						unset($conf["search::findKeyWordPosition"]);
4627
					
4627
 
4628
						/*
4628
						/*
4629
						#debug
4629
						#debug
4630
						if($condition["value"]===""){
4630
						if($condition["value"]===""){
4631
						
4631
 
4632
							#debug
4632
							#debug
4633
							var_dump(__LINE__,$findKeyWordPosition);
4633
							var_dump(__LINE__,$findKeyWordPosition);
4634
						
4634
 
4635
							}#if end
4635
							}#if end
4636
						*/
4636
						*/
4637
						
4637
 
4638
						#如果執行失敗
4638
						#如果執行失敗
4639
						if($findKeyWordPosition["status"]==="false"){
4639
						if($findKeyWordPosition["status"]==="false"){
4640
						
4640
 
4641
							#設置錯誤識別
4641
							#設置錯誤識別
4642
							$result["status"]="false";
4642
							$result["status"]="false";
4643
							
4643
 
4644
							#設置錯誤訊息
4644
							#設置錯誤訊息
4645
							$result["error"]=$findKeyWordPosition;
4645
							$result["error"]=$findKeyWordPosition;
4646
							
4646
 
4647
							#回傳結果
4647
							#回傳結果
4648
							return $result;
4648
							return $result;
4649
						
4649
 
4650
							}#if end
4650
							}#if end
4651
							
4651
 
4652
						#如果沒有符合
4652
						#如果沒有符合
4653
						if($findKeyWordPosition["found"]==="false"){
4653
						if($findKeyWordPosition["found"]==="false"){
4654
						
4654
 
4655
							#設置執行正常
4655
							#設置執行正常
4656
							$result["status"]="true";
4656
							$result["status"]="true";
4657
							
4657
 
4658
							#設置沒有符合格式
4658
							#設置沒有符合格式
4659
							$result["found"]="false";
4659
							$result["found"]="false";
4660
							
4660
 
4661
							#回傳結果
4661
							#回傳結果
4662
							return $result;
4662
							return $result;
4663
						
4663
 
4664
							}#if end
4664
							}#if end
4665
							
4665
 
4666
						#如果關鍵字不在開頭
4666
						#如果關鍵字不在開頭
4667
						if($findKeyWordPosition["head"]==="false"){
4667
						if($findKeyWordPosition["head"]==="false"){
4668
						
4668
 
4669
							#設置執行正常
4669
							#設置執行正常
4670
							$result["status"]="true";
4670
							$result["status"]="true";
4671
							
4671
 
4672
							#設置沒有符合格式
4672
							#設置沒有符合格式
4673
							$result["found"]="false";
4673
							$result["found"]="false";
4674
							
4674
 
4675
							#回傳結果
4675
							#回傳結果
4676
							return $result;
4676
							return $result;
4677
						
4677
 
4678
							}#if end
4678
							}#if end
4679
						
4679
 
4680
						#函式說明:
4680
						#函式說明:
4681
						#將字串特定關鍵字與其前面的內容剔除
4681
						#將字串特定關鍵字與其前面的內容剔除
4682
						#回傳結果:
4682
						#回傳結果:
4683
						#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
4683
						#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
4684
						#$result["error"],錯誤訊息陣列.
4684
						#$result["error"],錯誤訊息陣列.
Line 4703... Line 4703...
4703
						#無.
4703
						#無.
4704
						#備註:
4704
						#備註:
4705
						#無.
4705
						#無.
4706
						$delStrBeforeKeyWord=stringProcess::delStrBeforeKeyWord($conf["stringProcess::delStrBeforeKeyWord"]);
4706
						$delStrBeforeKeyWord=stringProcess::delStrBeforeKeyWord($conf["stringProcess::delStrBeforeKeyWord"]);
4707
						unset($conf["stringProcess::delStrBeforeKeyWord"]);
4707
						unset($conf["stringProcess::delStrBeforeKeyWord"]);
4708
						
4708
 
4709
						/*
4709
						/*
4710
						#debug
4710
						#debug
4711
						if($condition["value"]===" "){
4711
						if($condition["value"]===" "){
4712
						
4712
 
4713
							#debug
4713
							#debug
4714
							var_dump(__LINE__,$delStrBeforeKeyWord);
4714
							var_dump(__LINE__,$delStrBeforeKeyWord);
4715
							
4715
 
4716
							}#if end
4716
							}#if end
4717
						*/
4717
						*/
4718
						
4718
 
4719
						#如果執行失敗
4719
						#如果執行失敗
4720
						if($delStrBeforeKeyWord["status"]==="false"){
4720
						if($delStrBeforeKeyWord["status"]==="false"){
4721
						
4721
 
4722
							#設置錯誤識別
4722
							#設置錯誤識別
4723
							$result["status"]="false";
4723
							$result["status"]="false";
4724
							
4724
 
4725
							#設置錯誤訊息
4725
							#設置錯誤訊息
4726
							$result["error"]=$delStrBeforeKeyWord;
4726
							$result["error"]=$delStrBeforeKeyWord;
4727
							
4727
 
4728
							#回傳結果
4728
							#回傳結果
4729
							return $result;
4729
							return $result;
4730
						
4730
 
4731
							}#if end
4731
							}#if end
4732
							
4732
 
4733
						#如果沒有符合
4733
						#如果沒有符合
4734
						if($delStrBeforeKeyWord["founded"]==="false"){
4734
						if($delStrBeforeKeyWord["founded"]==="false"){
4735
						
4735
 
4736
							#設置錯誤識別
4736
							#設置錯誤識別
4737
							$result["status"]="true";
4737
							$result["status"]="true";
4738
							
4738
 
4739
							#設置沒有符合格式
4739
							#設置沒有符合格式
4740
							$result["found"]="false";
4740
							$result["found"]="false";
4741
							
4741
 
4742
							#回傳結果
4742
							#回傳結果
4743
							return $result;
4743
							return $result;
4744
							
4744
 
4745
							}#if end
4745
							}#if end
4746
							
4746
 
4747
						#執行到這邊代表有符合
4747
						#執行到這邊代表有符合
4748
						
4748
 
4749
						#取得剩下未判斷是否符合的項目
4749
						#取得剩下未判斷是否符合的項目
4750
						$modifiedInput=$delStrBeforeKeyWord["content"];
4750
						$modifiedInput=$delStrBeforeKeyWord["content"];
4751
						
4751
 
4752
						#換找下個資訊有無符合
4752
						#換找下個資訊有無符合
4753
						continue 2;
4753
						continue 2;
4754
						
4754
 
4755
						#結束 switch
4755
						#結束 switch
4756
						break;
4756
						break;
4757
						
4757
 
4758
					#如果是 "varPart"
4758
					#如果是 "varPart"
4759
					case "varPart":
4759
					case "varPart":
4760
					
4760
 
4761
						#計數第幾個 varPart
4761
						#計數第幾個 varPart
4762
						$varPartCount++;
4762
						$varPartCount++;
4763
					
4763
 
4764
						#取得變數名稱,亦即去掉開頭的 "${" 跟結尾的 "}"
4764
						#取得變數名稱,亦即去掉開頭的 "${" 跟結尾的 "}"
4765
						$varName=substr($OderOfPartInLine[($index)]["value"],2,strlen($OderOfPartInLine[($index)]["value"])-3);
4765
						$varName=substr($OderOfPartInLine[($index)]["value"],2,strlen($OderOfPartInLine[($index)]["value"])-3);
4766
						
4766
 
4767
						#如果後面沒有 $OderOfPartInLine 了
4767
						#如果後面沒有 $OderOfPartInLine 了
4768
						if(!isset($OderOfPartInLine[($index+1)])){
4768
						if(!isset($OderOfPartInLine[($index+1)])){
4769
						
4769
 
4770
							#取得變數的數值
4770
							#取得變數的數值
4771
							$varVal=$modifiedInput;
4771
							$varVal=$modifiedInput;
4772
						
4772
 
4773
							/*
4773
							/*
4774
						
4774
 
4775
							#代表有符合所有條件
4775
							#代表有符合所有條件
4776
							
4776
 
4777
							#設置解析好的變數
4777
							#設置解析好的變數
4778
							$result["content"][]=$modifiedInput;
4778
							$result["content"][]=$modifiedInput;
4779
							
4779
 
4780
							#設置執行正常的識別
4780
							#設置執行正常的識別
4781
							$result["status"]="true";
4781
							$result["status"]="true";
4782
							
4782
 
4783
							#設置有符合格式
4783
							#設置有符合格式
4784
							$result["found"]="true";
4784
							$result["found"]="true";
4785
							
4785
 
4786
							#回傳結果
4786
							#回傳結果
4787
							return $result;
4787
							return $result;
4788
						
4788
 
4789
							*/
4789
							*/
4790
						
4790
 
4791
							}#if end
4791
							}#if end
4792
						
4792
 
4793
						#執行到這邊代表後面還有 $OderOfPartInLine
4793
						#執行到這邊代表後面還有 $OderOfPartInLine
4794
						else{
4794
						else{
4795
						
4795
 
4796
							#debug
4796
							#debug
4797
							#var_dump(__LINE__,$OderOfPartInLine[($index+1)]);
4797
							#var_dump(__LINE__,$OderOfPartInLine[($index+1)]);
4798
							
4798
 
4799
							#如果後面的內容不是 keyWordPart
4799
							#如果後面的內容不是 keyWordPart
4800
							if($OderOfPartInLine[($index+1)]["name"]!=="keyWordPart"){
4800
							if($OderOfPartInLine[($index+1)]["name"]!=="keyWordPart"){
4801
							
4801
 
4802
								#設置錯誤識別
4802
								#設置錯誤識別
4803
								$result["status"]="false";
4803
								$result["status"]="false";
4804
								
4804
 
4805
								#設置錯誤訊息
4805
								#設置錯誤訊息
4806
								$result["error"][]="multi continued varName not supported";
4806
								$result["error"][]="multi continued varName not supported";
4807
								
4807
 
4808
								#回傳結果
4808
								#回傳結果
4809
								return $result;
4809
								return $result;
4810
							
4810
 
4811
								}#if end
4811
								}#if end
4812
								
4812
 
4813
							#執行到這邊代表為 varPart
4813
							#執行到這邊代表為 varPart
4814
							
4814
 
4815
							#函式說明:
4815
							#函式說明:
4816
							#取得關鍵字在字串的哪個位置(字首,字尾,中間)
4816
							#取得關鍵字在字串的哪個位置(字首,字尾,中間)
4817
							#回傳結果:
4817
							#回傳結果:
4818
							#$result["status"],執行成功與否,若爲"true",代表執行成功,若爲"false"代表執失敗。
4818
							#$result["status"],執行成功與否,若爲"true",代表執行成功,若爲"false"代表執失敗。
4819
							#$result["error"],錯誤訊息陣列.
4819
							#$result["error"],錯誤訊息陣列.
Line 4836... Line 4836...
4836
							#http://php.net/manual/en/function.strpos.php
4836
							#http://php.net/manual/en/function.strpos.php
4837
							#備註:
4837
							#備註:
4838
							#無.
4838
							#無.
4839
							$findKeyWordPosition=search::findKeyWordPosition($conf["search::findKeyWordPosition"]);
4839
							$findKeyWordPosition=search::findKeyWordPosition($conf["search::findKeyWordPosition"]);
4840
							unset($conf["search::findKeyWordPosition"]);
4840
							unset($conf["search::findKeyWordPosition"]);
4841
						
4841
 
4842
							#debug
4842
							#debug
4843
							#var_dump(__LINE__,$findKeyWordPosition);
4843
							#var_dump(__LINE__,$findKeyWordPosition);
4844
						
4844
 
4845
							#如果執行失敗
4845
							#如果執行失敗
4846
							if($findKeyWordPosition["status"]==="false"){
4846
							if($findKeyWordPosition["status"]==="false"){
4847
							
4847
 
4848
								#設置錯誤識別
4848
								#設置錯誤識別
4849
								$result["status"]="false";
4849
								$result["status"]="false";
4850
								
4850
 
4851
								#設置錯誤訊息
4851
								#設置錯誤訊息
4852
								$result["error"]=$findKeyWordPosition;
4852
								$result["error"]=$findKeyWordPosition;
4853
								
4853
 
4854
								#回傳結果
4854
								#回傳結果
4855
								return $result;
4855
								return $result;
4856
							
4856
 
4857
								}#if end
4857
								}#if end
4858
								
4858
 
4859
							#如果沒有符合
4859
							#如果沒有符合
4860
							if($findKeyWordPosition["found"]==="false"){
4860
							if($findKeyWordPosition["found"]==="false"){
4861
							
4861
 
4862
								#設置執行狀態識別
4862
								#設置執行狀態識別
4863
								$result["status"]="true";
4863
								$result["status"]="true";
4864
								
4864
 
4865
								#設置沒有符合格式
4865
								#設置沒有符合格式
4866
								$result["found"]="false";
4866
								$result["found"]="false";
4867
								
4867
 
4868
								#回傳結果
4868
								#回傳結果
4869
								return $result;
4869
								return $result;
4870
							
4870
 
4871
								}#if end
4871
								}#if end
4872
							
4872
 
4873
							#執行到這邊代表有符合關鍵字
4873
							#執行到這邊代表有符合關鍵字
4874
							
4874
 
4875
							#函式說明:
4875
							#函式說明:
4876
							#將字串特定關鍵字與其後面的內容剔除
4876
							#將字串特定關鍵字與其後面的內容剔除
4877
							#回傳結果:
4877
							#回傳結果:
4878
							#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
4878
							#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
4879
							#$result["error"],錯誤訊息陣列.
4879
							#$result["error"],錯誤訊息陣列.
Line 4896... Line 4896...
4896
							#無.
4896
							#無.
4897
							#備註:
4897
							#備註:
4898
							#無.
4898
							#無.
4899
							$delStrAfterKeyWord=stringProcess::delStrAfterKeyWord($conf["stringProcess::delStrAfterKeyWord"]);
4899
							$delStrAfterKeyWord=stringProcess::delStrAfterKeyWord($conf["stringProcess::delStrAfterKeyWord"]);
4900
							unset($conf["stringProcess::delStrAfterKeyWord"]);
4900
							unset($conf["stringProcess::delStrAfterKeyWord"]);
4901
							
4901
 
4902
							#如果執行失敗
4902
							#如果執行失敗
4903
							if($delStrAfterKeyWord["status"]==="false"){
4903
							if($delStrAfterKeyWord["status"]==="false"){
4904
							
4904
 
4905
								#設置錯誤識別
4905
								#設置錯誤識別
4906
								$result["status"]="false";
4906
								$result["status"]="false";
4907
								
4907
 
4908
								#設置錯誤訊息
4908
								#設置錯誤訊息
4909
								$result["error"]=$delStrAfterKeyWord;
4909
								$result["error"]=$delStrAfterKeyWord;
4910
								
4910
 
4911
								#回傳結果
4911
								#回傳結果
4912
								return $result;
4912
								return $result;
4913
							
4913
 
4914
								}#if end
4914
								}#if end
4915
								
4915
 
4916
							#如果沒有符合
4916
							#如果沒有符合
4917
							if($delStrAfterKeyWord["founded"]==="false"){
4917
							if($delStrAfterKeyWord["founded"]==="false"){
4918
							
4918
 
4919
								#設置執行狀態識別
4919
								#設置執行狀態識別
4920
								$result["status"]="true";
4920
								$result["status"]="true";
4921
								
4921
 
4922
								#設置沒有符合格式
4922
								#設置沒有符合格式
4923
								$result["found"]="false";
4923
								$result["found"]="false";
4924
								
4924
 
4925
								#回傳結果
4925
								#回傳結果
4926
								return $result;
4926
								return $result;
4927
							
4927
 
4928
								}#if end
4928
								}#if end
4929
							
4929
 
4930
							#另存變數的數值
4930
							#另存變數的數值
4931
							$varVal=$delStrAfterKeyWord["content"];
4931
							$varVal=$delStrAfterKeyWord["content"];
4932
						
4932
 
4933
							}#else end
4933
							}#else end
4934
						
4934
 
4935
						#如果有設置 $conf["varEqual"]
4935
						#如果有設置 $conf["varEqual"]
4936
						if(isset($conf["varEqual"])){
4936
						if(isset($conf["varEqual"])){
4937
	
4937
 
4938
							#debug
4938
							#debug
4939
							#var_dump(__LINE__,$conf["varEqual"]);
4939
							#var_dump(__LINE__,$conf["varEqual"]);
4940
	
4940
 
4941
							#debug
4941
							#debug
4942
							#var_dump(__LINE__,$varPartCount);
4942
							#var_dump(__LINE__,$varPartCount);
4943
	
4943
 
4944
							#若有設置該變數的條件
4944
							#若有設置該變數的條件
4945
							if(isset($conf["varEqual"][$varPartCount-1])){
4945
							if(isset($conf["varEqual"][$varPartCount-1])){
4946
							
4946
 
4947
								#取得之
4947
								#取得之
4948
								$varEqual=$conf["varEqual"][$varPartCount-1];
4948
								$varEqual=$conf["varEqual"][$varPartCount-1];
4949
							
4949
 
4950
								#如果條件不為 null,代表變數的數值要等於 $varEqual 才算符合
4950
								#如果條件不為 null,代表變數的數值要等於 $varEqual 才算符合
4951
								if($varEqual!==null){
4951
								if($varEqual!==null){
4952
								
4952
 
4953
									#如果數值不符合
4953
									#如果數值不符合
4954
									if($varVal!==$varEqual){
4954
									if($varVal!==$varEqual){
4955
									
4955
 
4956
										#設置執行狀態識別
4956
										#設置執行狀態識別
4957
										$result["status"]="true";
4957
										$result["status"]="true";
4958
										
4958
 
4959
										#設置沒有符合格式
4959
										#設置沒有符合格式
4960
										$result["found"]="false";
4960
										$result["found"]="false";
4961
										
4961
 
4962
										#設置解析好的變數
4962
										#設置解析好的變數
4963
										$result["content"][]=$varVal;
4963
										$result["content"][]=$varVal;
4964
										
4964
 
4965
										#用變數名稱來儲存
4965
										#用變數名稱來儲存
4966
										$result["parsedVar"][$varName][]=$varVal;
4966
										$result["parsedVar"][$varName][]=$varVal;
4967
					
4967
 
4968
										#回傳結果
4968
										#回傳結果
4969
										return $result;
4969
										return $result;
4970
									
4970
 
4971
										}#if end
4971
										}#if end
4972
								
4972
 
4973
									}#if end
4973
									}#if end
4974
								
4974
 
4975
								#反之 $varVal 現階段可為任意數值
4975
								#反之 $varVal 現階段可為任意數值
4976
								else{
4976
								else{
4977
								
4977
 
4978
									#如果有設置額外條件
4978
									#如果有設置額外條件
4979
									if(isset($conf["varCon"])){
4979
									if(isset($conf["varCon"])){
4980
									
4980
 
4981
										#取得其額外條件
4981
										#取得其額外條件
4982
										$varCon=$conf["varCon"][$varPartCount-1];
4982
										$varCon=$conf["varCon"][$varPartCount-1];
4983
									
4983
 
4984
										#如果有設置額外條件
4984
										#如果有設置額外條件
4985
										if($varCon!==null){
4985
										if($varCon!==null){
4986
										
4986
 
4987
											#檢查額外條件參數
4987
											#檢查額外條件參數
4988
											#函式說明:
4988
											#函式說明:
4989
											#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
4989
											#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
4990
											#回傳結果:
4990
											#回傳結果:
4991
											#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
4991
											#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 5037... Line 5037...
5037
											#array_keys=>http://php.net/manual/en/function.array-keys.php
5037
											#array_keys=>http://php.net/manual/en/function.array-keys.php
5038
											#備註:
5038
											#備註:
5039
											#無.
5039
											#無.
5040
											$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
5040
											$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
5041
											unset($conf["variableCheck::checkArguments"]);
5041
											unset($conf["variableCheck::checkArguments"]);
5042
										
5042
 
5043
											#如果執行失敗
5043
											#如果執行失敗
5044
											if($checkArguments["status"]==="false"){
5044
											if($checkArguments["status"]==="false"){
5045
											
5045
 
5046
												#設置錯誤識別
5046
												#設置錯誤識別
5047
												$result["status"]="false";
5047
												$result["status"]="false";
5048
												
5048
 
5049
												#設置錯誤訊息
5049
												#設置錯誤訊息
5050
												$result["error"]=$checkArguments;
5050
												$result["error"]=$checkArguments;
5051
												
5051
 
5052
												#回傳結果
5052
												#回傳結果
5053
												return $result;
5053
												return $result;
5054
											
5054
 
5055
												}#if end
5055
												}#if end
5056
												
5056
 
5057
											#如果檢查不通過
5057
											#如果檢查不通過
5058
											if($checkArguments["passed"]==="false"){
5058
											if($checkArguments["passed"]==="false"){
5059
											
5059
 
5060
												#設置錯誤識別
5060
												#設置錯誤識別
5061
												$result["status"]="false";
5061
												$result["status"]="false";
5062
												
5062
 
5063
												#設置錯誤訊息
5063
												#設置錯誤訊息
5064
												$result["error"]=$checkArguments;
5064
												$result["error"]=$checkArguments;
5065
												
5065
 
5066
												#回傳結果
5066
												#回傳結果
5067
												return $result;
5067
												return $result;
5068
											
5068
 
5069
												}#if end
5069
												}#if end
5070
												
5070
 
5071
											#針對每個額外條件
5071
											#針對每個額外條件
5072
											foreach($varCon as $con => $cVal){
5072
											foreach($varCon as $con => $cVal){
5073
											
5073
 
5074
												#判斷額外條件
5074
												#判斷額外條件
5075
												switch($con){
5075
												switch($con){
5076
												
5076
 
5077
													#如果是 "head"
5077
													#如果是 "head"
5078
													case "head":
5078
													case "head":
5079
													
5079
 
5080
														#函式說明:
5080
														#函式說明:
5081
														#取得符合特定字首與字尾的字串
5081
														#取得符合特定字首與字尾的字串
5082
														#回傳結果:
5082
														#回傳結果:
5083
														#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
5083
														#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
5084
														#$result["function"],當前執行的函數名稱.
5084
														#$result["function"],當前執行的函數名稱.
Line 5099... Line 5099...
5099
														#str_spilt(),可以將字串依照字母分割成一個個陣列字串。
5099
														#str_spilt(),可以將字串依照字母分割成一個個陣列字串。
5100
														#備註:
5100
														#備註:
5101
														#無.
5101
														#無.
5102
														$getMeetConditionsString=search::getMeetConditionsString($conf["search::getMeetConditionsString"]);
5102
														$getMeetConditionsString=search::getMeetConditionsString($conf["search::getMeetConditionsString"]);
5103
														unset($conf["search::getMeetConditionsString"]);
5103
														unset($conf["search::getMeetConditionsString"]);
5104
													
5104
 
5105
														#如果執行失敗
5105
														#如果執行失敗
5106
														if($getMeetConditionsString["status"]==="false"){
5106
														if($getMeetConditionsString["status"]==="false"){
5107
														
5107
 
5108
															#設置錯誤識別
5108
															#設置錯誤識別
5109
															$result["status"]="false";
5109
															$result["status"]="false";
5110
															
5110
 
5111
															#設置錯誤訊息
5111
															#設置錯誤訊息
5112
															$result["error"]=$getMeetConditionsString;
5112
															$result["error"]=$getMeetConditionsString;
5113
															
5113
 
5114
															#回傳結果
5114
															#回傳結果
5115
															return $result;
5115
															return $result;
5116
														
5116
 
5117
															}#if end
5117
															}#if end
5118
														
5118
 
5119
														#如果沒有需要的關鍵字
5119
														#如果沒有需要的關鍵字
5120
														if($getMeetConditionsString["founded"]==="false"){
5120
														if($getMeetConditionsString["founded"]==="false"){
5121
														
5121
 
5122
															#設置執行正常識別
5122
															#設置執行正常識別
5123
															$result["status"]="true";
5123
															$result["status"]="true";
5124
															
5124
 
5125
															#設置錯誤訊息
5125
															#設置錯誤訊息
5126
															$result["found"]="false";
5126
															$result["found"]="false";
5127
															
5127
 
5128
															#設置解析好的變數
5128
															#設置解析好的變數
5129
															$result["content"][]=$varVal;
5129
															$result["content"][]=$varVal;
5130
															
5130
 
5131
															#用變數名稱來儲存
5131
															#用變數名稱來儲存
5132
															$result["parsedVar"][$varName][]=$varVal;
5132
															$result["parsedVar"][$varName][]=$varVal;
5133
															
5133
 
5134
															#回傳結果
5134
															#回傳結果
5135
															return $result;
5135
															return $result;
5136
														
5136
 
5137
															}#if end
5137
															}#if end
5138
														
5138
 
5139
														#跳出 switch
5139
														#跳出 switch
5140
														break;
5140
														break;
5141
														
5141
 
5142
													#如果是 "no_head"
5142
													#如果是 "no_head"
5143
													case "no_head":
5143
													case "no_head":
5144
													
5144
 
5145
														#函式說明:
5145
														#函式說明:
5146
														#取得符合特定字首與字尾的字串
5146
														#取得符合特定字首與字尾的字串
5147
														#回傳結果:
5147
														#回傳結果:
5148
														#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
5148
														#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
5149
														#$result["function"],當前執行的函數名稱.
5149
														#$result["function"],當前執行的函數名稱.
Line 5164... Line 5164...
5164
														#str_spilt(),可以將字串依照字母分割成一個個陣列字串。
5164
														#str_spilt(),可以將字串依照字母分割成一個個陣列字串。
5165
														#備註:
5165
														#備註:
5166
														#無.
5166
														#無.
5167
														$getMeetConditionsString=search::getMeetConditionsString($conf["search::getMeetConditionsString"]);
5167
														$getMeetConditionsString=search::getMeetConditionsString($conf["search::getMeetConditionsString"]);
5168
														unset($conf["search::getMeetConditionsString"]);
5168
														unset($conf["search::getMeetConditionsString"]);
5169
													
5169
 
5170
														#如果執行失敗
5170
														#如果執行失敗
5171
														if($getMeetConditionsString["status"]==="false"){
5171
														if($getMeetConditionsString["status"]==="false"){
5172
														
5172
 
5173
															#設置錯誤識別
5173
															#設置錯誤識別
5174
															$result["status"]="false";
5174
															$result["status"]="false";
5175
															
5175
 
5176
															#設置錯誤訊息
5176
															#設置錯誤訊息
5177
															$result["error"]=$getMeetConditionsString;
5177
															$result["error"]=$getMeetConditionsString;
5178
															
5178
 
5179
															#回傳結果
5179
															#回傳結果
5180
															return $result;
5180
															return $result;
5181
														
5181
 
5182
															}#if end
5182
															}#if end
5183
														
5183
 
5184
														#如果有不需要的關鍵字
5184
														#如果有不需要的關鍵字
5185
														if($getMeetConditionsString["founded"]==="true"){
5185
														if($getMeetConditionsString["founded"]==="true"){
5186
														
5186
 
5187
															#設置執行正常識別
5187
															#設置執行正常識別
5188
															$result["status"]="true";
5188
															$result["status"]="true";
5189
															
5189
 
5190
															#設置錯誤訊息
5190
															#設置錯誤訊息
5191
															$result["found"]="false";
5191
															$result["found"]="false";
5192
															
5192
 
5193
															#設置解析好的變數
5193
															#設置解析好的變數
5194
															$result["content"][]=$varVal;
5194
															$result["content"][]=$varVal;
5195
															
5195
 
5196
															#用變數名稱來儲存
5196
															#用變數名稱來儲存
5197
															$result["parsedVar"][$varName][]=$varVal;
5197
															$result["parsedVar"][$varName][]=$varVal;
5198
															
5198
 
5199
															#回傳結果
5199
															#回傳結果
5200
															return $result;
5200
															return $result;
5201
														
5201
 
5202
															}#if end
5202
															}#if end
5203
													
5203
 
5204
														#跳出 switch
5204
														#跳出 switch
5205
														break;
5205
														break;
5206
												
5206
 
5207
													#如果是 "tail"
5207
													#如果是 "tail"
5208
													case "tail":
5208
													case "tail":
5209
													
5209
 
5210
														#函式說明:
5210
														#函式說明:
5211
														#取得符合特定字首與字尾的字串
5211
														#取得符合特定字首與字尾的字串
5212
														#回傳結果:
5212
														#回傳結果:
5213
														#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
5213
														#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
5214
														#$result["function"],當前執行的函數名稱.
5214
														#$result["function"],當前執行的函數名稱.
Line 5229... Line 5229...
5229
														#str_spilt(),可以將字串依照字母分割成一個個陣列字串。
5229
														#str_spilt(),可以將字串依照字母分割成一個個陣列字串。
5230
														#備註:
5230
														#備註:
5231
														#無.
5231
														#無.
5232
														$getMeetConditionsString=search::getMeetConditionsString($conf["search::getMeetConditionsString"]);
5232
														$getMeetConditionsString=search::getMeetConditionsString($conf["search::getMeetConditionsString"]);
5233
														unset($conf["search::getMeetConditionsString"]);
5233
														unset($conf["search::getMeetConditionsString"]);
5234
													
5234
 
5235
														#如果執行失敗
5235
														#如果執行失敗
5236
														if($getMeetConditionsString["status"]==="false"){
5236
														if($getMeetConditionsString["status"]==="false"){
5237
														
5237
 
5238
															#設置錯誤識別
5238
															#設置錯誤識別
5239
															$result["status"]="false";
5239
															$result["status"]="false";
5240
															
5240
 
5241
															#設置錯誤訊息
5241
															#設置錯誤訊息
5242
															$result["error"]=$getMeetConditionsString;
5242
															$result["error"]=$getMeetConditionsString;
5243
															
5243
 
5244
															#回傳結果
5244
															#回傳結果
5245
															return $result;
5245
															return $result;
5246
														
5246
 
5247
															}#if end
5247
															}#if end
5248
														
5248
 
5249
														#如果無需要的關鍵字
5249
														#如果無需要的關鍵字
5250
														if($getMeetConditionsString["founded"]==="false"){
5250
														if($getMeetConditionsString["founded"]==="false"){
5251
														
5251
 
5252
															#設置執行正常識別
5252
															#設置執行正常識別
5253
															$result["status"]="true";
5253
															$result["status"]="true";
5254
															
5254
 
5255
															#設置錯誤訊息
5255
															#設置錯誤訊息
5256
															$result["found"]="false";
5256
															$result["found"]="false";
5257
															
5257
 
5258
															#設置解析好的變數
5258
															#設置解析好的變數
5259
															$result["content"][]=$varVal;
5259
															$result["content"][]=$varVal;
5260
															
5260
 
5261
															#用變數名稱來儲存
5261
															#用變數名稱來儲存
5262
															$result["parsedVar"][$varName][]=$varVal;
5262
															$result["parsedVar"][$varName][]=$varVal;
5263
															
5263
 
5264
															#回傳結果
5264
															#回傳結果
5265
															return $result;
5265
															return $result;
5266
														
5266
 
5267
															}#if end
5267
															}#if end
5268
													
5268
 
5269
														#跳出 switch
5269
														#跳出 switch
5270
														break;
5270
														break;
5271
														
5271
 
5272
													#如果是 "no_tail"
5272
													#如果是 "no_tail"
5273
													case "no_tail":
5273
													case "no_tail":
5274
													
5274
 
5275
														#函式說明:
5275
														#函式說明:
5276
														#取得符合特定字首與字尾的字串
5276
														#取得符合特定字首與字尾的字串
5277
														#回傳結果:
5277
														#回傳結果:
5278
														#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
5278
														#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
5279
														#$result["function"],當前執行的函數名稱.
5279
														#$result["function"],當前執行的函數名稱.
Line 5294... Line 5294...
5294
														#str_spilt(),可以將字串依照字母分割成一個個陣列字串。
5294
														#str_spilt(),可以將字串依照字母分割成一個個陣列字串。
5295
														#備註:
5295
														#備註:
5296
														#無.
5296
														#無.
5297
														$getMeetConditionsString=search::getMeetConditionsString($conf["search::getMeetConditionsString"]);
5297
														$getMeetConditionsString=search::getMeetConditionsString($conf["search::getMeetConditionsString"]);
5298
														unset($conf["search::getMeetConditionsString"]);
5298
														unset($conf["search::getMeetConditionsString"]);
5299
													
5299
 
5300
														#如果執行失敗
5300
														#如果執行失敗
5301
														if($getMeetConditionsString["status"]==="false"){
5301
														if($getMeetConditionsString["status"]==="false"){
5302
														
5302
 
5303
															#設置錯誤識別
5303
															#設置錯誤識別
5304
															$result["status"]="false";
5304
															$result["status"]="false";
5305
															
5305
 
5306
															#設置錯誤訊息
5306
															#設置錯誤訊息
5307
															$result["error"]=$getMeetConditionsString;
5307
															$result["error"]=$getMeetConditionsString;
5308
															
5308
 
5309
															#回傳結果
5309
															#回傳結果
5310
															return $result;
5310
															return $result;
5311
														
5311
 
5312
															}#if end
5312
															}#if end
5313
														
5313
 
5314
														#如果有無需要的關鍵字
5314
														#如果有無需要的關鍵字
5315
														if($getMeetConditionsString["founded"]==="true"){
5315
														if($getMeetConditionsString["founded"]==="true"){
5316
														
5316
 
5317
															#設置執行正常識別
5317
															#設置執行正常識別
5318
															$result["status"]="true";
5318
															$result["status"]="true";
5319
															
5319
 
5320
															#設置錯誤訊息
5320
															#設置錯誤訊息
5321
															$result["found"]="false";
5321
															$result["found"]="false";
5322
															
5322
 
5323
															#設置解析好的變數
5323
															#設置解析好的變數
5324
															$result["content"][]=$varVal;
5324
															$result["content"][]=$varVal;
5325
															
5325
 
5326
															#用變數名稱來儲存
5326
															#用變數名稱來儲存
5327
															$result["parsedVar"][$varName][]=$varVal;
5327
															$result["parsedVar"][$varName][]=$varVal;
5328
															
5328
 
5329
															#回傳結果
5329
															#回傳結果
5330
															return $result;
5330
															return $result;
5331
														
5331
 
5332
															}#if end
5332
															}#if end
5333
													
5333
 
5334
														#跳出 switch
5334
														#跳出 switch
5335
														break;
5335
														break;
5336
														
5336
 
5337
													#若是其他額外條件
5337
													#若是其他額外條件
5338
													default:
5338
													default:
5339
												
5339
 
5340
														#設置錯誤識別
5340
														#設置錯誤識別
5341
														$result["status"]="false";
5341
														$result["status"]="false";
5342
														
5342
 
5343
														#設置錯誤訊息
5343
														#設置錯誤訊息
5344
														$result["error"][]="not supported condition \"".$con."\"";
5344
														$result["error"][]="not supported condition \"".$con."\"";
5345
														
5345
 
5346
														#設置錯誤訊息
5346
														#設置錯誤訊息
5347
														$result["error"][]=$checkArguments;
5347
														$result["error"][]=$checkArguments;
5348
														
5348
 
5349
														#回傳結果
5349
														#回傳結果
5350
														return $result;
5350
														return $result;
5351
												
5351
 
5352
													}#switch end
5352
													}#switch end
5353
											
5353
 
5354
												}#foreach end
5354
												}#foreach end
5355
											
5355
 
5356
											}#if end
5356
											}#if end
5357
								
5357
 
5358
										}#if end
5358
										}#if end
5359
								
5359
 
5360
									}#else end
5360
									}#else end
5361
							
5361
 
5362
								}#if end
5362
								}#if end
5363
						
5363
 
5364
							}#if end
5364
							}#if end
5365
						
5365
 
5366
						#設置解析好的變數
5366
						#設置解析好的變數
5367
						$result["content"][]=$varVal;
5367
						$result["content"][]=$varVal;
5368
						
5368
 
5369
						#用變數名稱來儲存
5369
						#用變數名稱來儲存
5370
						$result["parsedVar"][$varName][]=$varVal;
5370
						$result["parsedVar"][$varName][]=$varVal;
5371
						
5371
 
5372
						#若後面還有特定關鍵字
5372
						#若後面還有特定關鍵字
5373
						if(isset($OderOfPartInLine[($index+1)]["value"])){
5373
						if(isset($OderOfPartInLine[($index+1)]["value"])){
5374
						
5374
 
5375
							#函式說明:
5375
							#函式說明:
5376
							#將字串特定關鍵字與其前面的內容剔除
5376
							#將字串特定關鍵字與其前面的內容剔除
5377
							#回傳結果:
5377
							#回傳結果:
5378
							#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
5378
							#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
5379
							#$result["error"],錯誤訊息陣列.
5379
							#$result["error"],錯誤訊息陣列.
Line 5398... Line 5398...
5398
							#無.
5398
							#無.
5399
							#備註:
5399
							#備註:
5400
							#無.
5400
							#無.
5401
							$delStrBeforeKeyWord=stringProcess::delStrBeforeKeyWord($conf["stringProcess::delStrBeforeKeyWord"]);
5401
							$delStrBeforeKeyWord=stringProcess::delStrBeforeKeyWord($conf["stringProcess::delStrBeforeKeyWord"]);
5402
							unset($conf["stringProcess::delStrBeforeKeyWord"]);
5402
							unset($conf["stringProcess::delStrBeforeKeyWord"]);
5403
							
5403
 
5404
							#debug
5404
							#debug
5405
							#var_dump(__LINE__,$delStrBeforeKeyWord);
5405
							#var_dump(__LINE__,$delStrBeforeKeyWord);
5406
							
5406
 
5407
							#如果執行失敗
5407
							#如果執行失敗
5408
							if($delStrBeforeKeyWord["status"]==="false"){
5408
							if($delStrBeforeKeyWord["status"]==="false"){
5409
							
5409
 
5410
								#設置錯誤識別
5410
								#設置錯誤識別
5411
								$result["status"]="false";
5411
								$result["status"]="false";
5412
								
5412
 
5413
								#設置錯誤訊息
5413
								#設置錯誤訊息
5414
								$result["error"]=$delStrBeforeKeyWord;
5414
								$result["error"]=$delStrBeforeKeyWord;
5415
								
5415
 
5416
								#回傳結果
5416
								#回傳結果
5417
								return $result;
5417
								return $result;
5418
							
5418
 
5419
								}#if end
5419
								}#if end
5420
								
5420
 
5421
							#如果該存在的關鍵字不在
5421
							#如果該存在的關鍵字不在
5422
							if($delStrBeforeKeyWord["founded"]==="false"){
5422
							if($delStrBeforeKeyWord["founded"]==="false"){
5423
							
5423
 
5424
								#設置錯誤識別
5424
								#設置錯誤識別
5425
								$result["status"]="true";
5425
								$result["status"]="true";
5426
								
5426
 
5427
								#設置沒有符合格式
5427
								#設置沒有符合格式
5428
								$result["found"]="false";
5428
								$result["found"]="false";
5429
								
5429
 
5430
								#回傳結果
5430
								#回傳結果
5431
								return $result;
5431
								return $result;
5432
								
5432
 
5433
								}#if end
5433
								}#if end
5434
							
5434
 
5435
							#取得剩下未判斷是否符合的項目
5435
							#取得剩下未判斷是否符合的項目
5436
							$modifiedInput=$OderOfPartInLine[($index+1)]["value"].$delStrBeforeKeyWord["content"];
5436
							$modifiedInput=$OderOfPartInLine[($index+1)]["value"].$delStrBeforeKeyWord["content"];
5437
							
5437
 
5438
							#debug
5438
							#debug
5439
							#var_dump(__LINE__,$modifiedOriLineContent);
5439
							#var_dump(__LINE__,$modifiedOriLineContent);
5440
						
5440
 
5441
							}#if end
5441
							}#if end
5442
						
5442
 
5443
						#換找下個資訊有無符合
5443
						#換找下個資訊有無符合
5444
						continue 2;
5444
						continue 2;
5445
					
5445
 
5446
						break;
5446
						break;
5447
					
5447
 
5448
					#其他狀況
5448
					#其他狀況
5449
					default:
5449
					default:
5450
					
5450
 
5451
						#設置錯誤識別
5451
						#設置錯誤識別
5452
						$result["status"]="false";
5452
						$result["status"]="false";
5453
						
5453
 
5454
						#設置錯誤訊息
5454
						#設置錯誤訊息
5455
						$result["error"][]="unexpected name value";
5455
						$result["error"][]="unexpected name value";
5456
						
5456
 
5457
						#設置錯誤訊息
5457
						#設置錯誤訊息
5458
						$result["error"][]=$condition;
5458
						$result["error"][]=$condition;
5459
						
5459
 
5460
						#回傳結果
5460
						#回傳結果
5461
						return $result;
5461
						return $result;
5462
				
5462
 
5463
					}#switch end
5463
					}#switch end
5464
				
5464
 
5465
				}#foreach end
5465
				}#foreach end
5466
				
5466
 
5467
			#執行到這邊代表該行有符合關鍵字的結構
5467
			#執行到這邊代表該行有符合關鍵字的結構
5468
			
5468
 
5469
			#設置執行正常識別
5469
			#設置執行正常識別
5470
			$result["status"]="true";
5470
			$result["status"]="true";
5471
			
5471
 
5472
			#設置有符合格式
5472
			#設置有符合格式
5473
			$result["found"]="true";
5473
			$result["found"]="true";
5474
			
5474
 
5475
			#回傳結果
5475
			#回傳結果
5476
			return $result;
5476
			return $result;
5477
			
5477
 
5478
			}#if end
5478
			}#if end
5479
			
5479
 
5480
		#format參數有問題
5480
		#format參數有問題
5481
		else{
5481
		else{
5482
		
5482
 
5483
			#設置錯誤識別
5483
			#設置錯誤識別
5484
			$result["status"]="false";
5484
			$result["status"]="false";
5485
			
5485
 
5486
			#設置錯誤訊息
5486
			#設置錯誤訊息
5487
			$result["error"][]="not supported format:".$conf["format"];
5487
			$result["error"][]="not supported format:".$conf["format"];
5488
			
5488
 
5489
			#回傳結果
5489
			#回傳結果
5490
			return $result;
5490
			return $result;
5491
		
5491
 
5492
			}#else end
5492
			}#else end
5493
	
5493
 
5494
		}#function findSpecifyStr end
5494
		}#function findSpecifyStrFormat end
5495
	
5495
 
5496
	/*
5496
	/*
5497
	#尋找連續的多行字串是否依順含有符合格式的內容,且回傳解析好的變數數值.
5497
	#尋找連續的多行字串是否依順含有符合格式的內容,且回傳解析好的變數數值.
5498
	#回傳結果:
5498
	#回傳結果:
5499
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
5499
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
5500
	#$reuslt["error"],執行不正常結束的錯訊息陣列.
5500
	#$reuslt["error"],執行不正常結束的錯訊息陣列.
Line 5518... Line 5518...
5518
	#無.
5518
	#無.
5519
	#備註:
5519
	#備註:
5520
	#回傳結果 $result["content"][$i]["ori"][$j]=array("index"=>$oriLineIndex,"value"=>$oriLineContent) 代表第 $i+1 個符合格式的段落中第 $j+1 個原始內容對應的行數($oriLineIndex+1),其原始內容為 $oriLineContent.
5520
	#回傳結果 $result["content"][$i]["ori"][$j]=array("index"=>$oriLineIndex,"value"=>$oriLineContent) 代表第 $i+1 個符合格式的段落中第 $j+1 個原始內容對應的行數($oriLineIndex+1),其原始內容為 $oriLineContent.
5521
	*/
5521
	*/
5522
	public static function findConMatchStrs(&$conf){
5522
	public static function findConMatchStrs(&$conf){
5523
	
5523
 
5524
		#初始化要回傳的結果
5524
		#初始化要回傳的結果
5525
		$result=array();
5525
		$result=array();
5526
 
5526
 
5527
		#取得當前執行的函數名稱
5527
		#取得當前執行的函數名稱
5528
		$result["function"]=__FUNCTION__;
5528
		$result["function"]=__FUNCTION__;
Line 5563... Line 5563...
5563
 
5563
 
5564
			#回傳結果
5564
			#回傳結果
5565
			return $result;
5565
			return $result;
5566
 
5566
 
5567
			}#if end
5567
			}#if end
5568
			
5568
 
5569
		#函式說明:
5569
		#函式說明:
5570
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
5570
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
5571
		#回傳結果:
5571
		#回傳結果:
5572
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
5572
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
5573
		#$result["error"],執行不正常結束的錯訊息陣列.
5573
		#$result["error"],執行不正常結束的錯訊息陣列.
Line 5618... Line 5618...
5618
		#array_keys=>http://php.net/manual/en/function.array-keys.php
5618
		#array_keys=>http://php.net/manual/en/function.array-keys.php
5619
		#備註:
5619
		#備註:
5620
		#無.
5620
		#無.
5621
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
5621
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
5622
		unset($conf["variableCheck::checkArguments"]);
5622
		unset($conf["variableCheck::checkArguments"]);
5623
	
5623
 
5624
		#如果執行失敗
5624
		#如果執行失敗
5625
		if($checkArguments["status"]==="false"){
5625
		if($checkArguments["status"]==="false"){
5626
		
5626
 
5627
			#設置錯誤訊息
5627
			#設置錯誤訊息
5628
			$result["error"]=$checkArguments;
5628
			$result["error"]=$checkArguments;
5629
		
5629
 
5630
			#設置執行錯誤
5630
			#設置執行錯誤
5631
			$result["status"]="false";
5631
			$result["status"]="false";
5632
		
5632
 
5633
			#回傳結果
5633
			#回傳結果
5634
			return $result;
5634
			return $result;
5635
		
5635
 
5636
			}#if end
5636
			}#if end
5637
	
5637
 
5638
		#如果檢查不通過
5638
		#如果檢查不通過
5639
		if($checkArguments["passed"]==="false"){
5639
		if($checkArguments["passed"]==="false"){
5640
		
5640
 
5641
			#設置錯誤訊息
5641
			#設置錯誤訊息
5642
			$result["error"]=$checkArguments;
5642
			$result["error"]=$checkArguments;
5643
		
5643
 
5644
			#設置執行錯誤
5644
			#設置執行錯誤
5645
			$result["status"]="false";
5645
			$result["status"]="false";
5646
		
5646
 
5647
			#回傳結果
5647
			#回傳結果
5648
			return $result;
5648
			return $result;
5649
		
5649
 
5650
			}#if end
5650
			}#if end
5651
			
5651
 
5652
		#關鍵字行搜尋的索引預設數值為0
5652
		#關鍵字行搜尋的索引預設數值為0
5653
		$keyWordLineIndex=0;
5653
		$keyWordLineIndex=0;
5654
	
5654
 
5655
		#針對每行原始內容
5655
		#針對每行原始內容
5656
		for($oriLineContentIndex=0;$oriLineContentIndex<count($conf["input"]);$oriLineContentIndex++){
5656
		for($oriLineContentIndex=0;$oriLineContentIndex<count($conf["input"]);$oriLineContentIndex++){
5657
		
5657
 
5658
			#取得原始內容行
5658
			#取得原始內容行
5659
			$oriLineContent=$conf["input"][$oriLineContentIndex];
5659
			$oriLineContent=$conf["input"][$oriLineContentIndex];
5660
			
5660
 
5661
			#預設調整後的原始內容跟原本一樣
5661
			#預設調整後的原始內容跟原本一樣
5662
			$modifiedOriLineContent=$oriLineContent;
5662
			$modifiedOriLineContent=$oriLineContent;
5663
		
5663
 
5664
			#debug
5664
			#debug
5665
			#var_dump(__LINE__,$modifiedOriLineContent);
5665
			#var_dump(__LINE__,$modifiedOriLineContent);
5666
			
5666
 
5667
			#初始化儲存移除的開頭內容
5667
			#初始化儲存移除的開頭內容
5668
			$deletedOriHead="";
5668
			$deletedOriHead="";
5669
		
5669
 
5670
			#無窮迴圈
5670
			#無窮迴圈
5671
			while(true){
5671
			while(true){
5672
			
5672
 
5673
				#嘗試移除開頭的 空格 跟 \t
5673
				#嘗試移除開頭的 空格 跟 \t
5674
				
5674
 
5675
				#函式說明:
5675
				#函式說明:
5676
				#取得符合多個特定字首與字尾的字串
5676
				#取得符合多個特定字首與字尾的字串
5677
				#回傳結果:
5677
				#回傳結果:
5678
				#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
5678
				#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
5679
				#$result["function"],當前執行的函數名稱.
5679
				#$result["function"],當前執行的函數名稱.
Line 5694... Line 5694...
5694
				#無.
5694
				#無.
5695
				#備註:
5695
				#備註:
5696
				#無.
5696
				#無.
5697
				$getMeetMultiConditionsString=search::getMeetMultiConditionsString($conf["search::getMeetMultiConditionsString"]);
5697
				$getMeetMultiConditionsString=search::getMeetMultiConditionsString($conf["search::getMeetMultiConditionsString"]);
5698
				unset($conf["search::getMeetMultiConditionsString"]);
5698
				unset($conf["search::getMeetMultiConditionsString"]);
5699
				
5699
 
5700
				#debug
5700
				#debug
5701
				#var_dump(__LINE__,$getMeetMultiConditionsString);
5701
				#var_dump(__LINE__,$getMeetMultiConditionsString);
5702
				
5702
 
5703
				#如果執行失敗
5703
				#如果執行失敗
5704
				if($getMeetMultiConditionsString["status"]==="false"){
5704
				if($getMeetMultiConditionsString["status"]==="false"){
5705
				
5705
 
5706
					#設置錯誤識別
5706
					#設置錯誤識別
5707
					$result["status"]="false";
5707
					$result["status"]="false";
5708
					
5708
 
5709
					#設置錯誤訊息
5709
					#設置錯誤訊息
5710
					$result["error"]=$getMeetMultiConditionsString;
5710
					$result["error"]=$getMeetMultiConditionsString;
5711
					
5711
 
5712
					#回傳結果
5712
					#回傳結果
5713
					return $result;
5713
					return $result;
5714
				
5714
 
5715
					}#if end
5715
					}#if end
5716
					
5716
 
5717
				#如果有關鍵字存在
5717
				#如果有關鍵字存在
5718
				if($getMeetMultiConditionsString["founded"]==="true"){
5718
				if($getMeetMultiConditionsString["founded"]==="true"){
5719
				
5719
 
5720
					#取得已經移開頭空格跟\t後的內容
5720
					#取得已經移開頭空格跟\t後的內容
5721
					$modifiedOriLineContent=$getMeetMultiConditionsString["content"];
5721
					$modifiedOriLineContent=$getMeetMultiConditionsString["content"];
5722
				
5722
 
5723
					#另存符合且剔除的內容
5723
					#另存符合且剔除的內容
5724
					$meetConditions=$getMeetMultiConditionsString["meetConditions"]["front"];
5724
					$meetConditions=$getMeetMultiConditionsString["meetConditions"]["front"];
5725
				
5725
 
5726
					#串接開頭剔除的內容
5726
					#串接開頭剔除的內容
5727
					$deletedOriHead=$deletedOriHead.$meetConditions;
5727
					$deletedOriHead=$deletedOriHead.$meetConditions;
5728
				
5728
 
5729
					#繼續檢查
5729
					#繼續檢查
5730
					continue;
5730
					continue;
5731
				
5731
 
5732
					}#if end
5732
					}#if end
5733
				
5733
 
5734
				#到這表代表已經移除開頭的 空格 跟 \t
5734
				#到這表代表已經移除開頭的 空格 跟 \t
5735
				
5735
 
5736
				#結束 while
5736
				#結束 while
5737
				break;
5737
				break;
5738
			
5738
 
5739
				}#while end
5739
				}#while end
5740
				
5740
 
5741
			#debug
5741
			#debug
5742
			#var_dump(__LINE__,$modifiedOriLineContent);
5742
			#var_dump(__LINE__,$modifiedOriLineContent);
5743
				
5743
 
5744
			#取得關鍵字行的內容
5744
			#取得關鍵字行的內容
5745
			$keyWordLine=$conf["formats"][$keyWordLineIndex];
5745
			$keyWordLine=$conf["formats"][$keyWordLineIndex];
5746
			
5746
 
5747
			#調整過的關鍵字內容行預設跟原始關鍵行內容一樣
5747
			#調整過的關鍵字內容行預設跟原始關鍵行內容一樣
5748
			$modifiedKeyWordLine=$keyWordLine;
5748
			$modifiedKeyWordLine=$keyWordLine;
5749
			
5749
 
5750
			#初始化關鍵字前面的內容(可能有為多個空格或tab)
5750
			#初始化關鍵字前面的內容(可能有為多個空格或tab)
5751
			$keyWordContentOfHead="";
5751
			$keyWordContentOfHead="";
5752
			
5752
 
5753
			#無窮迴圈
5753
			#無窮迴圈
5754
			while(true){
5754
			while(true){
5755
			
5755
 
5756
				#嘗試剔除開頭的 空格 跟 "\t"
5756
				#嘗試剔除開頭的 空格 跟 "\t"
5757
			
5757
 
5758
				#函式說明:
5758
				#函式說明:
5759
				#取得符合多個特定字首與字尾的字串
5759
				#取得符合多個特定字首與字尾的字串
5760
				#回傳結果:
5760
				#回傳結果:
5761
				#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
5761
				#$result["status"],若爲"true"則代表執行正常;若爲"false"則代表執行失敗。
5762
				#$result["function"],當前執行的函數名稱.
5762
				#$result["function"],當前執行的函數名稱.
Line 5777... Line 5777...
5777
				#無.
5777
				#無.
5778
				#備註:
5778
				#備註:
5779
				#無.
5779
				#無.
5780
				$getMeetMultiConditionsString=search::getMeetMultiConditionsString($conf["search::getMeetMultiConditionsString"]);
5780
				$getMeetMultiConditionsString=search::getMeetMultiConditionsString($conf["search::getMeetMultiConditionsString"]);
5781
				unset($conf["search::getMeetMultiConditionsString"]);
5781
				unset($conf["search::getMeetMultiConditionsString"]);
5782
				
5782
 
5783
				#debug
5783
				#debug
5784
				#var_dump(__LINE__,$getMeetMultiConditionsString);
5784
				#var_dump(__LINE__,$getMeetMultiConditionsString);
5785
				
5785
 
5786
				#如果執行失敗
5786
				#如果執行失敗
5787
				if($getMeetMultiConditionsString["status"]==="false"){
5787
				if($getMeetMultiConditionsString["status"]==="false"){
5788
				
5788
 
5789
					#設置錯誤識別
5789
					#設置錯誤識別
5790
					$result["status"]="false";
5790
					$result["status"]="false";
5791
					
5791
 
5792
					#設置錯誤訊息
5792
					#設置錯誤訊息
5793
					$result["error"]=$getMeetMultiConditionsString;
5793
					$result["error"]=$getMeetMultiConditionsString;
5794
					
5794
 
5795
					#回傳結果
5795
					#回傳結果
5796
					return $result;
5796
					return $result;
5797
				
5797
 
5798
					}#if end
5798
					}#if end
5799
					
5799
 
5800
				#如果有關鍵字存在
5800
				#如果有關鍵字存在
5801
				if($getMeetMultiConditionsString["founded"]==="true"){
5801
				if($getMeetMultiConditionsString["founded"]==="true"){
5802
				
5802
 
5803
					#取得移除開頭 空格 跟 \t 後的內容
5803
					#取得移除開頭 空格 跟 \t 後的內容
5804
					$modifiedKeyWordLine=$getMeetMultiConditionsString["content"];
5804
					$modifiedKeyWordLine=$getMeetMultiConditionsString["content"];
5805
					
5805
 
5806
					#取得關鍵字前面的內容
5806
					#取得關鍵字前面的內容
5807
					$keyWordContentOfHead=substr($keyWordLine,0,strlen($keyWordLine)-strlen($modifiedKeyWordLine));
5807
					$keyWordContentOfHead=substr($keyWordLine,0,strlen($keyWordLine)-strlen($modifiedKeyWordLine));
5808
					
5808
 
5809
					#繼續檢查
5809
					#繼續檢查
5810
					continue;
5810
					continue;
5811
					
5811
 
5812
					}#if end
5812
					}#if end
5813
				
5813
 
5814
				#到這表代表已經移除開頭的 空格 跟 \t
5814
				#到這表代表已經移除開頭的 空格 跟 \t
5815
			
5815
 
5816
				#解析關鍵字字串
5816
				#解析關鍵字字串
5817
				#函式說明:
5817
				#函式說明:
5818
				#尋找字串中是否含有符合格式的內容,且回傳解析好的變數數值.
5818
				#尋找字串中是否含有符合格式的內容,且回傳解析好的變數數值.
5819
				#回傳結果:
5819
				#回傳結果:
5820
				#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
5820
				#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 5838... Line 5838...
5838
				#無.
5838
				#無.
5839
				#備註:
5839
				#備註:
5840
				#無.
5840
				#無.
5841
				$findSpecifyStrFormat=search::findSpecifyStrFormat($conf["search::findSpecifyStrFormat"]);
5841
				$findSpecifyStrFormat=search::findSpecifyStrFormat($conf["search::findSpecifyStrFormat"]);
5842
				unset($conf["search::findSpecifyStrFormat"]);
5842
				unset($conf["search::findSpecifyStrFormat"]);
5843
			
5843
 
5844
				#debug
5844
				#debug
5845
				#var_dump(__LINE__,$findSpecifyStrFormat);
5845
				#var_dump(__LINE__,$findSpecifyStrFormat);
5846
			
5846
 
5847
				#如果執行異常
5847
				#如果執行異常
5848
				if($findSpecifyStrFormat["status"]==="false"){
5848
				if($findSpecifyStrFormat["status"]==="false"){
5849
				
5849
 
5850
					#設置錯誤識別
5850
					#設置錯誤識別
5851
					$result["status"]="false";
5851
					$result["status"]="false";
5852
					
5852
 
5853
					#設置錯誤訊息
5853
					#設置錯誤訊息
5854
					$result["error"]=$findSpecifyStrFormat;
5854
					$result["error"]=$findSpecifyStrFormat;
5855
					
5855
 
5856
					#回傳結果
5856
					#回傳結果
5857
					return $result;
5857
					return $result;
5858
					
5858
 
5859
					}#if end
5859
					}#if end
5860
					
5860
 
5861
				#如果沒有找到符合的格式
5861
				#如果沒有找到符合的格式
5862
				if($findSpecifyStrFormat["found"]==="false"){
5862
				if($findSpecifyStrFormat["found"]==="false"){
5863
				
5863
 
5864
					#重新尋找第一個關鍵字串
5864
					#重新尋找第一個關鍵字串
5865
					$keyWordLineIndex=0;
5865
					$keyWordLineIndex=0;
5866
					
5866
 
5867
					}#if end
5867
					}#if end
5868
				
5868
 
5869
				#反之有找到符合的格式
5869
				#反之有找到符合的格式
5870
				else if($findSpecifyStrFormat["found"]==="true"){
5870
				else if($findSpecifyStrFormat["found"]==="true"){
5871
					
5871
 
5872
					#$result["content"][$i]["lineS"],字串,為第 $i+1 個符合格式的段落起始行數.
5872
					#$result["content"][$i]["lineS"],字串,為第 $i+1 個符合格式的段落起始行數.
5873
					#$result["content"][$i]["ori"],陣列,為第 $i+1 個符合格式的段落每行原始內容資訊.
5873
					#$result["content"][$i]["ori"],陣列,為第 $i+1 個符合格式的段落每行原始內容資訊.
5874
					#$result["content"][$i]["ori"][$j]=array("index"=>$oriLineIndex,"value"=>$oriLineContent),代表第 $i+1 個符合格式的段落中第 $j+1 個原始內容對應的行數($oriLineIndex+1),其原始內容為 $oriLineContent.
5874
					#$result["content"][$i]["ori"][$j]=array("index"=>$oriLineIndex,"value"=>$oriLineContent),代表第 $i+1 個符合格式的段落中第 $j+1 個原始內容對應的行數($oriLineIndex+1),其原始內容為 $oriLineContent.
5875
					#$result["content"][$i]["new"],陣列,為第 $i+1 個符合格式的段落每行關鍵字內容.
5875
					#$result["content"][$i]["new"],陣列,為第 $i+1 個符合格式的段落每行關鍵字內容.
5876
					#$result["content"][$i]["vars"],陣列,為第 $i+1 個符合格式的段落每行變數解析的結果.
5876
					#$result["content"][$i]["vars"],陣列,為第 $i+1 個符合格式的段落每行變數解析的結果.
5877
					
5877
 
5878
					#如果第一個關鍵字串有符合
5878
					#如果第一個關鍵字串有符合
5879
					if($keyWordLineIndex===0){
5879
					if($keyWordLineIndex===0){
5880
					
5880
 
5881
						#初始化暫存符合的行數資訊
5881
						#初始化暫存符合的行數資訊
5882
						$matchInfo=array();
5882
						$matchInfo=array();
5883
						
5883
 
5884
						#記錄符合的行數
5884
						#記錄符合的行數
5885
						$matchInfo["lineS"]=$oriLineContentIndex;
5885
						$matchInfo["lineS"]=$oriLineContentIndex;
5886
					
5886
 
5887
						}#if end
5887
						}#if end
5888
					
5888
 
5889
					#記錄符合的原始字串行
5889
					#記錄符合的原始字串行
5890
					$matchInfo["ori"][]=array("index"=>$oriLineContentIndex,"value"=>$modifiedOriLineContent,"deletedHead"=>$deletedOriHead);
5890
					$matchInfo["ori"][]=array("index"=>$oriLineContentIndex,"value"=>$modifiedOriLineContent,"deletedHead"=>$deletedOriHead);
5891
					
5891
 
5892
					#記錄符合的關鍵字字串行
5892
					#記錄符合的關鍵字字串行
5893
					$matchInfo["new"][]=$modifiedKeyWordLine;
5893
					$matchInfo["new"][]=$modifiedKeyWordLine;
5894
					
5894
 
5895
					#記錄解析出來的變數結果
5895
					#記錄解析出來的變數結果
5896
					$matchInfo["vars"][]=$findSpecifyStrFormat["parsedVar"];
5896
					$matchInfo["vars"][]=$findSpecifyStrFormat["parsedVar"];
5897
					
5897
 
5898
					#如果後面還有關鍵字串
5898
					#如果後面還有關鍵字串
5899
					if(isset($conf["formats"][$keyWordLineIndex+1])){
5899
					if(isset($conf["formats"][$keyWordLineIndex+1])){
5900
					
5900
 
5901
						#看下一個要判斷的關鍵字串
5901
						#看下一個要判斷的關鍵字串
5902
						$keyWordLineIndex++;
5902
						$keyWordLineIndex++;
5903
					
5903
 
5904
						}#if end
5904
						}#if end
5905
					
5905
 
5906
					#反之
5906
					#反之
5907
					else{
5907
					else{
5908
					
5908
 
5909
						#記錄符合的結果資訊
5909
						#記錄符合的結果資訊
5910
						$result["content"][]=$matchInfo;
5910
						$result["content"][]=$matchInfo;
5911
					
5911
 
5912
						#下次要再從第一個關鍵字字串看起
5912
						#下次要再從第一個關鍵字字串看起
5913
						$keyWordLineIndex=0;
5913
						$keyWordLineIndex=0;
5914
					
5914
 
5915
						}#else end
5915
						}#else end
5916
				
5916
 
5917
					}#else end
5917
					}#else end
5918
					
5918
 
5919
				#不應該執行到這邊
5919
				#不應該執行到這邊
5920
				else{
5920
				else{
5921
				
5921
 
5922
					#設置錯誤識別
5922
					#設置錯誤識別
5923
					$result["status"]="false";
5923
					$result["status"]="false";
5924
					
5924
 
5925
					#設置錯誤訊息
5925
					#設置錯誤訊息
5926
					$result["error"][]="unexpected error";
5926
					$result["error"][]="unexpected error";
5927
					
5927
 
5928
					#設置錯誤訊息
5928
					#設置錯誤訊息
5929
					$result["error"][]=$findSpecifyStrFormat;
5929
					$result["error"][]=$findSpecifyStrFormat;
5930
					
5930
 
5931
					#回傳結果
5931
					#回傳結果
5932
					return $result;
5932
					return $result;
5933
				
5933
 
5934
					}#else end
5934
					}#else end
5935
				
5935
 
5936
				#結束 while
5936
				#結束 while
5937
				break;
5937
				break;
5938
				
5938
 
5939
				}#while end
5939
				}#while end
5940
		
5940
 
5941
			}#for end
5941
			}#for end
5942
		
5942
 
5943
		#預設沒有找到符合的字串區段
5943
		#預設沒有找到符合的字串區段
5944
		$result["found"]="false";
5944
		$result["found"]="false";
5945
	
5945
 
5946
		#如果有比對到的結果
5946
		#如果有比對到的結果
5947
		if(!empty($result["content"])){
5947
		if(!empty($result["content"])){
5948
		
5948
 
5949
			#設置有找到符合的字串區段
5949
			#設置有找到符合的字串區段
5950
			$result["found"]="true";
5950
			$result["found"]="true";
5951
		
5951
 
5952
			}#if end
5952
			}#if end
5953
 
5953
 
5954
		#設置執行正常
5954
		#設置執行正常
5955
		$result["status"]="true";
5955
		$result["status"]="true";
5956
 
5956
 
5957
		#回傳結果
5957
		#回傳結果
5958
		return $result;
5958
		return $result;
5959
 
5959
 
5960
		}#function findConMatchStrs end
5960
		}#function findConMatchStrs end
5961
	
5961
 
5962
	/*
5962
	/*
5963
	#函式說明:
5963
	#函式說明:
5964
	#尋找字串中是否含有符合多個格式之一的內容,且回傳解析好的變數數值.
5964
	#尋找字串中是否含有符合多個格式之一的內容,且回傳解析好的變數數值.
5965
	#回傳結果:
5965
	#回傳結果:
5966
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
5966
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 5980... Line 5980...
5980
	#無.
5980
	#無.
5981
	#備註:
5981
	#備註:
5982
	#無.
5982
	#無.
5983
	*/
5983
	*/
5984
	public static function findSpecifyStrFormats(&$conf){
5984
	public static function findSpecifyStrFormats(&$conf){
5985
	
5985
 
5986
		#初始化要回傳的結果
5986
		#初始化要回傳的結果
5987
		$result=array();
5987
		$result=array();
5988
 
5988
 
5989
		#取得當前執行的函數名稱
5989
		#取得當前執行的函數名稱
5990
		$result["function"]=__FUNCTION__;
5990
		$result["function"]=__FUNCTION__;
Line 6025... Line 6025...
6025
 
6025
 
6026
			#回傳結果
6026
			#回傳結果
6027
			return $result;
6027
			return $result;
6028
 
6028
 
6029
			}#if end
6029
			}#if end
6030
			
6030
 
6031
		#函式說明:
6031
		#函式說明:
6032
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
6032
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
6033
		#回傳結果:
6033
		#回傳結果:
6034
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
6034
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
6035
		#$result["error"],執行不正常結束的錯訊息陣列.
6035
		#$result["error"],執行不正常結束的錯訊息陣列.
Line 6080... Line 6080...
6080
		#array_keys=>http://php.net/manual/en/function.array-keys.php
6080
		#array_keys=>http://php.net/manual/en/function.array-keys.php
6081
		#備註:
6081
		#備註:
6082
		#無.
6082
		#無.
6083
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
6083
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
6084
		unset($conf["variableCheck::checkArguments"]);
6084
		unset($conf["variableCheck::checkArguments"]);
6085
	
6085
 
6086
		#如果執行失敗
6086
		#如果執行失敗
6087
		if($checkArguments["status"]==="false"){
6087
		if($checkArguments["status"]==="false"){
6088
		
6088
 
6089
			#設置錯誤訊息
6089
			#設置錯誤訊息
6090
			$result["error"]=$checkArguments;
6090
			$result["error"]=$checkArguments;
6091
		
6091
 
6092
			#設置執行錯誤
6092
			#設置執行錯誤
6093
			$result["status"]="false";
6093
			$result["status"]="false";
6094
		
6094
 
6095
			#回傳結果
6095
			#回傳結果
6096
			return $result;
6096
			return $result;
6097
		
6097
 
6098
			}#if end
6098
			}#if end
6099
	
6099
 
6100
		#如果檢查不通過
6100
		#如果檢查不通過
6101
		if($checkArguments["passed"]==="false"){
6101
		if($checkArguments["passed"]==="false"){
6102
		
6102
 
6103
			#設置錯誤訊息
6103
			#設置錯誤訊息
6104
			$result["error"]=$checkArguments;
6104
			$result["error"]=$checkArguments;
6105
		
6105
 
6106
			#設置執行錯誤
6106
			#設置執行錯誤
6107
			$result["status"]="false";
6107
			$result["status"]="false";
6108
		
6108
 
6109
			#回傳結果
6109
			#回傳結果
6110
			return $result;
6110
			return $result;
6111
		
6111
 
6112
			}#if end
6112
			}#if end
6113
		
6113
 
6114
		#初始化符合的格式
6114
		#初始化符合的格式
6115
		$result["content"]=array();
6115
		$result["content"]=array();
6116
		
6116
 
6117
		#預設沒有符合的格式
6117
		#預設沒有符合的格式
6118
		$result["found"]="false";
6118
		$result["found"]="false";
6119
		
6119
 
6120
		#針對每個格式
6120
		#針對每個格式
6121
		foreach($conf["formats"] as $format){
6121
		foreach($conf["formats"] as $format){
6122
		
6122
 
6123
			#函式說明:
6123
			#函式說明:
6124
			#尋找字串中是否含有符合格式的內容,且回傳解析好的變數數值.
6124
			#尋找字串中是否含有符合格式的內容,且回傳解析好的變數數值.
6125
			#回傳結果:
6125
			#回傳結果:
6126
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
6126
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
6127
			#$reuslt["error"],執行不正常結束的錯訊息陣列.
6127
			#$reuslt["error"],執行不正常結束的錯訊息陣列.
Line 6140... Line 6140...
6140
			#無.
6140
			#無.
6141
			#備註:
6141
			#備註:
6142
			#無.
6142
			#無.
6143
			$findSpecifyStrFormat=search::findSpecifyStrFormat($conf["search::findSpecifyStrFormat"]);
6143
			$findSpecifyStrFormat=search::findSpecifyStrFormat($conf["search::findSpecifyStrFormat"]);
6144
			unset($conf["search::findSpecifyStrFormat"]);
6144
			unset($conf["search::findSpecifyStrFormat"]);
6145
		
6145
 
6146
			#如果執行失敗
6146
			#如果執行失敗
6147
			if($findSpecifyStrFormat["status"]==="false"){
6147
			if($findSpecifyStrFormat["status"]==="false"){
6148
			
6148
 
6149
				#設置錯誤訊息
6149
				#設置錯誤訊息
6150
				$result["error"]=$findSpecifyStrFormat;
6150
				$result["error"]=$findSpecifyStrFormat;
6151
			
6151
 
6152
				#設置執行錯誤
6152
				#設置執行錯誤
6153
				$result["status"]="false";
6153
				$result["status"]="false";
6154
			
6154
 
6155
				#回傳結果
6155
				#回傳結果
6156
				return $result;
6156
				return $result;
6157
			
6157
 
6158
				}#if end
6158
				}#if end
6159
	
6159
 
6160
			#如果有找到符合的格式
6160
			#如果有找到符合的格式
6161
			if($findSpecifyStrFormat["found"]==="true"){
6161
			if($findSpecifyStrFormat["found"]==="true"){
6162
			
6162
 
6163
				#var_dump(__LINE__,$findSpecifyStrFormat);
6163
				#var_dump(__LINE__,$findSpecifyStrFormat);
6164
			
6164
 
6165
				#設置符合的格式資訊
6165
				#設置符合的格式資訊
6166
				$result["content"][]=$findSpecifyStrFormat["content"];
6166
				$result["content"][]=$findSpecifyStrFormat["content"];
6167
			
6167
 
6168
				#設置有符合的格式
6168
				#設置有符合的格式
6169
				$result["found"]="true";
6169
				$result["found"]="true";
6170
			
6170
 
6171
				}#if end
6171
				}#if end
6172
		
6172
 
6173
			}#foreach end
6173
			}#foreach end
6174
			
6174
 
6175
		#設置執行正常
6175
		#設置執行正常
6176
		$result["status"]="true";
6176
		$result["status"]="true";
6177
		
6177
 
6178
		#回傳結果
6178
		#回傳結果
6179
		return $result;
6179
		return $result;
6180
		
6180
 
6181
		}#function findSpecifyStrFormats end
6181
		}#function findSpecifyStrFormats end
6182
	
6182
 
6183
	/*
6183
	/*
6184
	#函式說明:
6184
	#函式說明:
6185
	#尋找多個字串中是否含有符合多個格式之一的內容,且回傳解析好的變數數值.
6185
	#尋找多個字串中是否含有符合多個格式之一的內容,且回傳解析好的變數數值.
6186
	#回傳結果:
6186
	#回傳結果:
6187
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
6187
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 6201... Line 6201...
6201
	#無.
6201
	#無.
6202
	#備註:
6202
	#備註:
6203
	#無.
6203
	#無.
6204
	*/
6204
	*/
6205
	public static function getMatchFormatsStrings(&$conf){
6205
	public static function getMatchFormatsStrings(&$conf){
6206
	
6206
 
6207
		#初始化要回傳的結果
6207
		#初始化要回傳的結果
6208
		$result=array();
6208
		$result=array();
6209
 
6209
 
6210
		#取得當前執行的函數名稱
6210
		#取得當前執行的函數名稱
6211
		$result["function"]=__FUNCTION__;
6211
		$result["function"]=__FUNCTION__;
Line 6246... Line 6246...
6246
 
6246
 
6247
			#回傳結果
6247
			#回傳結果
6248
			return $result;
6248
			return $result;
6249
 
6249
 
6250
			}#if end
6250
			}#if end
6251
			
6251
 
6252
		#函式說明:
6252
		#函式說明:
6253
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
6253
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
6254
		#回傳結果:
6254
		#回傳結果:
6255
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
6255
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
6256
		#$result["error"],執行不正常結束的錯訊息陣列.
6256
		#$result["error"],執行不正常結束的錯訊息陣列.
Line 6301... Line 6301...
6301
		#array_keys=>http://php.net/manual/en/function.array-keys.php
6301
		#array_keys=>http://php.net/manual/en/function.array-keys.php
6302
		#備註:
6302
		#備註:
6303
		#無.
6303
		#無.
6304
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
6304
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
6305
		unset($conf["variableCheck::checkArguments"]);
6305
		unset($conf["variableCheck::checkArguments"]);
6306
	
6306
 
6307
		#如果執行失敗
6307
		#如果執行失敗
6308
		if($checkArguments["status"]==="false"){
6308
		if($checkArguments["status"]==="false"){
6309
		
6309
 
6310
			#設置錯誤訊息
6310
			#設置錯誤訊息
6311
			$result["error"]=$checkArguments;
6311
			$result["error"]=$checkArguments;
6312
		
6312
 
6313
			#設置執行錯誤
6313
			#設置執行錯誤
6314
			$result["status"]="false";
6314
			$result["status"]="false";
6315
		
6315
 
6316
			#回傳結果
6316
			#回傳結果
6317
			return $result;
6317
			return $result;
6318
		
6318
 
6319
			}#if end
6319
			}#if end
6320
	
6320
 
6321
		#如果檢查不通過
6321
		#如果檢查不通過
6322
		if($checkArguments["passed"]==="false"){
6322
		if($checkArguments["passed"]==="false"){
6323
		
6323
 
6324
			#設置錯誤訊息
6324
			#設置錯誤訊息
6325
			$result["error"]=$checkArguments;
6325
			$result["error"]=$checkArguments;
6326
		
6326
 
6327
			#設置執行錯誤
6327
			#設置執行錯誤
6328
			$result["status"]="false";
6328
			$result["status"]="false";
6329
		
6329
 
6330
			#回傳結果
6330
			#回傳結果
6331
			return $result;
6331
			return $result;
6332
		
6332
 
6333
			}#if end
6333
			}#if end
6334
		
6334
 
6335
		#初始化符合的格式
6335
		#初始化符合的格式
6336
		$result["content"]=array();
6336
		$result["content"]=array();
6337
		
6337
 
6338
		#預設沒有符合的格式
6338
		#預設沒有符合的格式
6339
		$result["found"]="false";
6339
		$result["found"]="false";
6340
	
6340
 
6341
		#針對每個要檢查的字串
6341
		#針對每個要檢查的字串
6342
		foreach($conf["inputs"] as $lineNo => $str){
6342
		foreach($conf["inputs"] as $lineNo => $str){
6343
		
6343
 
6344
			#函式說明:
6344
			#函式說明:
6345
			#尋找字串中是否含有符合多個格式之一的內容,且回傳解析好的變數數值.
6345
			#尋找字串中是否含有符合多個格式之一的內容,且回傳解析好的變數數值.
6346
			#回傳結果:
6346
			#回傳結果:
6347
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
6347
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
6348
			#$reuslt["error"],執行不正常結束的錯訊息陣列.
6348
			#$reuslt["error"],執行不正常結束的錯訊息陣列.
Line 6361... Line 6361...
6361
			#無.
6361
			#無.
6362
			#備註:
6362
			#備註:
6363
			#無.
6363
			#無.
6364
			$findSpecifyStrFormats=search::findSpecifyStrFormats($conf["search::findSpecifyStrFormats"]);
6364
			$findSpecifyStrFormats=search::findSpecifyStrFormats($conf["search::findSpecifyStrFormats"]);
6365
			unset($conf["search::findSpecifyStrFormats"]);
6365
			unset($conf["search::findSpecifyStrFormats"]);
6366
		
6366
 
6367
			#如果執行失敗
6367
			#如果執行失敗
6368
			if($findSpecifyStrFormats["status"]==="false"){
6368
			if($findSpecifyStrFormats["status"]==="false"){
6369
			
6369
 
6370
				#設置錯誤訊息
6370
				#設置錯誤訊息
6371
				$result["error"]=$findSpecifyStrFormats;
6371
				$result["error"]=$findSpecifyStrFormats;
6372
			
6372
 
6373
				#設置執行錯誤
6373
				#設置執行錯誤
6374
				$result["status"]="false";
6374
				$result["status"]="false";
6375
			
6375
 
6376
				#回傳結果
6376
				#回傳結果
6377
				return $findSpecifyStrFormats;
6377
				return $findSpecifyStrFormats;
6378
			
6378
 
6379
				}#if end
6379
				}#if end
6380
				
6380
 
6381
			#如果有符合的格式
6381
			#如果有符合的格式
6382
			if($findSpecifyStrFormats["found"]==="true"){
6382
			if($findSpecifyStrFormats["found"]==="true"){
6383
			
6383
 
6384
				#暫存的陣列
6384
				#暫存的陣列
6385
				$tmp=array();
6385
				$tmp=array();
6386
			
6386
 
6387
				#設置行號
6387
				#設置行號
6388
				$tmp["lineNo"]=$lineNo;
6388
				$tmp["lineNo"]=$lineNo;
6389
			
6389
 
6390
				#設置找到的結果
6390
				#設置找到的結果
6391
				$tmp["content"]=$findSpecifyStrFormats["content"];
6391
				$tmp["content"]=$findSpecifyStrFormats["content"];
6392
			
6392
 
6393
				#儲存找到的結果
6393
				#儲存找到的結果
6394
				$result["content"][]=$tmp;
6394
				$result["content"][]=$tmp;
6395
				
6395
 
6396
				#設置有找到
6396
				#設置有找到
6397
				$result["found"]="true";
6397
				$result["found"]="true";
6398
			
6398
 
6399
				}#if end
6399
				}#if end
6400
		
6400
 
6401
			}#foreach end
6401
			}#foreach end
6402
	
6402
 
6403
		#設置執行正常
6403
		#設置執行正常
6404
		$result["status"]="true";
6404
		$result["status"]="true";
6405
		
6405
 
6406
		#回傳結果
6406
		#回傳結果
6407
		return $result;
6407
		return $result;
6408
	
6408
 
6409
		}#function getMatchFormatsStrings end
6409
		}#function getMatchFormatsStrings end
6410
	
6410
 
6411
	/*
6411
	/*
6412
	#函式說明:
6412
	#函式說明:
6413
	#尋找字串中是否含有 shell 變數.
6413
	#尋找字串中是否含有 shell 變數.
6414
	#回傳結果:
6414
	#回傳結果:
6415
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
6415
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 6426... Line 6426...
6426
	#無.
6426
	#無.
6427
	#備註:
6427
	#備註:
6428
	#無.
6428
	#無.
6429
	*/
6429
	*/
6430
	public static function findShellVar(&$conf){
6430
	public static function findShellVar(&$conf){
6431
		
6431
 
6432
		#初始化要回傳的結果
6432
		#初始化要回傳的結果
6433
		$result=array();
6433
		$result=array();
6434
 
6434
 
6435
		#取得當前執行的函數名稱
6435
		#取得當前執行的函數名稱
6436
		$result["function"]=__FUNCTION__;
6436
		$result["function"]=__FUNCTION__;
6437
 
6437
 
6438
		#如果沒有參數
6438
		#如果沒有參數
6439
		if(func_num_args()==0){
6439
		if(func_num_args()==0){
6440
			
6440
 
6441
			#設置執行失敗
6441
			#設置執行失敗
6442
			$result["status"]="false";
6442
			$result["status"]="false";
6443
			
6443
 
6444
			#設置執行錯誤訊息
6444
			#設置執行錯誤訊息
6445
			$result["error"]="函數".$result["function"]."需要參數";
6445
			$result["error"]="函數".$result["function"]."需要參數";
6446
			
6446
 
6447
			#回傳結果
6447
			#回傳結果
6448
			return $result;
6448
			return $result;
6449
			
6449
 
6450
			}#if end
6450
			}#if end
6451
 
6451
 
6452
		#取得參數
6452
		#取得參數
6453
		$result["argu"]=$conf;
6453
		$result["argu"]=$conf;
6454
 
6454
 
6455
		#如果 $conf 不為陣列
6455
		#如果 $conf 不為陣列
6456
		if(gettype($conf)!=="array"){
6456
		if(gettype($conf)!=="array"){
6457
			
6457
 
6458
			#設置執行失敗
6458
			#設置執行失敗
6459
			$result["status"]="false";
6459
			$result["status"]="false";
6460
			
6460
 
6461
			#設置執行錯誤訊息
6461
			#設置執行錯誤訊息
6462
			$result["error"][]="\$conf變數須為陣列形態";
6462
			$result["error"][]="\$conf變數須為陣列形態";
6463
			
6463
 
6464
			#如果傳入的參數為 null
6464
			#如果傳入的參數為 null
6465
			if($conf===null){
6465
			if($conf===null){
6466
				
6466
 
6467
				#設置執行錯誤訊息
6467
				#設置執行錯誤訊息
6468
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
6468
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
6469
				
6469
 
6470
				}#if end
6470
				}#if end
6471
 
6471
 
6472
			#回傳結果
6472
			#回傳結果
6473
			return $result;
6473
			return $result;
6474
			
6474
 
6475
			}#if end
6475
			}#if end
6476
			
6476
 
6477
		#檢查參數
6477
		#檢查參數
6478
		#函式說明:
6478
		#函式說明:
6479
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
6479
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
6480
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
6480
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
6481
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
6481
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
Line 6487... Line 6487...
6487
		#必填寫的參數:
6487
		#必填寫的參數:
6488
		#$conf["variableCheck::checkArguments"]["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
6488
		#$conf["variableCheck::checkArguments"]["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
6489
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
6489
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
6490
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
6490
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
6491
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("input");
6491
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("input");
6492
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
6492
		#$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double");
6493
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string");
6493
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string");
6494
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
6494
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
6495
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
6495
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
6496
		#可以省略的參數:
6496
		#可以省略的參數:
6497
		#$conf["variableCheck::checkArguments"]["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true"。
6497
		#$conf["variableCheck::checkArguments"]["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true"。
6498
		#$conf["variableCheck::checkArguments"]["canBeEmptyString"]="true";
6498
		#$conf["variableCheck::checkArguments"]["canBeEmptyString"]="true";
6499
		#$conf["variableCheck::checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
6499
		#$conf["variableCheck::checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
6500
		#$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("username","password","port","title","fullScreen","spicePassword");
6500
		#$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("username","password","port","title","fullScreen","spicePassword");
6501
		#$conf["variableCheck::checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
6501
		#$conf["variableCheck::checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
6502
		#$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string","string","string","string","string");
6502
		#$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string","string","string","string","string");
6503
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定,若預設值是必填參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
6503
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定,若預設值是必填參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
6504
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null,null,null,"false",null);
6504
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null,null,null,"false",null);
6505
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
6505
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
6506
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"][]=array();
6506
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"][]=array();
6507
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
6507
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
6508
		unset($conf["variableCheck::checkArguments"]);
6508
		unset($conf["variableCheck::checkArguments"]);
6509
		
6509
 
6510
		#如果檢查參數失敗
6510
		#如果檢查參數失敗
6511
		if($checkResult["status"]=="false"){
6511
		if($checkResult["status"]=="false"){
6512
			
6512
 
6513
			#設置執行失敗
6513
			#設置執行失敗
6514
			$result["status"]="false";
6514
			$result["status"]="false";
6515
			
6515
 
6516
			#設置執行錯誤
6516
			#設置執行錯誤
6517
			$result["error"]=$checkResult;
6517
			$result["error"]=$checkResult;
6518
			
6518
 
6519
			#回傳結果
6519
			#回傳結果
6520
			return $result;
6520
			return $result;
6521
			
6521
 
6522
			}#if end
6522
			}#if end
6523
			
6523
 
6524
		#如果檢查參數不通過
6524
		#如果檢查參數不通過
6525
		if($checkResult["passed"]=="false"){
6525
		if($checkResult["passed"]=="false"){
6526
			
6526
 
6527
			#設置執行失敗
6527
			#設置執行失敗
6528
			$result["status"]="false";
6528
			$result["status"]="false";
6529
			
6529
 
6530
			#設置執行錯誤
6530
			#設置執行錯誤
6531
			$result["error"]=$checkResult;
6531
			$result["error"]=$checkResult;
6532
			
6532
 
6533
			#回傳結果
6533
			#回傳結果
6534
			return $result;
6534
			return $result;
6535
			
6535
 
6536
			}#if end
6536
			}#if end
6537
		
6537
 
6538
		#函式說明:
6538
		#函式說明:
6539
		#將字串進行解析,取得兩個關鍵字中間的內容.
6539
		#將字串進行解析,取得兩個關鍵字中間的內容.
6540
		#回傳結果:
6540
		#回傳結果:
6541
		#$result["status"],執行正常與否,"false"代表不正常,"true"代表正常.
6541
		#$result["status"],執行正常與否,"false"代表不正常,"true"代表正常.
6542
		#$result["function"],當前執行的函式內容.
6542
		#$result["function"],當前執行的函式內容.
Line 6557... Line 6557...
6557
		#無.
6557
		#無.
6558
		#備註:
6558
		#備註:
6559
		#無.
6559
		#無.
6560
		$getContentBetweenKeyWord=stringProcess::getContentBetweenKeyWord($conf["stringProcess::getContentBetweenKeyWord"]);
6560
		$getContentBetweenKeyWord=stringProcess::getContentBetweenKeyWord($conf["stringProcess::getContentBetweenKeyWord"]);
6561
		unset($conf["stringProcess::getContentBetweenKeyWord"]);
6561
		unset($conf["stringProcess::getContentBetweenKeyWord"]);
6562
		
6562
 
6563
		#如果執行失敗
6563
		#如果執行失敗
6564
		if($getContentBetweenKeyWord["status"]==="false"){
6564
		if($getContentBetweenKeyWord["status"]==="false"){
6565
			
6565
 
6566
			#設置執行失敗
6566
			#設置執行失敗
6567
			$result["status"]="false";
6567
			$result["status"]="false";
6568
			
6568
 
6569
			#設置執行錯誤
6569
			#設置執行錯誤
6570
			$result["error"]=$getContentBetweenKeyWord;
6570
			$result["error"]=$getContentBetweenKeyWord;
6571
			
6571
 
6572
			#回傳結果
6572
			#回傳結果
6573
			return $result;
6573
			return $result;
6574
			
6574
 
6575
			}#if end
6575
			}#if end
6576
			
6576
 
6577
		#如果沒有符合條件的內容
6577
		#如果沒有符合條件的內容
6578
		if($getContentBetweenKeyWord["found"]==="false"){
6578
		if($getContentBetweenKeyWord["found"]==="false"){
6579
			
6579
 
6580
			#設置執行正常
6580
			#設置執行正常
6581
			$result["status"]="true";
6581
			$result["status"]="true";
6582
			
6582
 
6583
			#設置沒有找到 shell 變數
6583
			#設置沒有找到 shell 變數
6584
			$result["founded"]="false";
6584
			$result["founded"]="false";
6585
			
6585
 
6586
			#回傳結果
6586
			#回傳結果
6587
			return $result;
6587
			return $result;
6588
			
6588
 
6589
			}#if end
6589
			}#if end
6590
			
6590
 
6591
		#函式說明:
6591
		#函式說明:
6592
		#檢查字串裡面有無指定的關鍵字
6592
		#檢查字串裡面有無指定的關鍵字
6593
		#回傳結果:
6593
		#回傳結果:
6594
		#$result["status"],"true"代表執行成功,"false"代表執行失敗。
6594
		#$result["status"],"true"代表執行成功,"false"代表執行失敗。
6595
		#$result["error"],錯誤訊息
6595
		#$result["error"],錯誤訊息
Line 6609... Line 6609...
6609
		#無.
6609
		#無.
6610
		#備註:
6610
		#備註:
6611
		#無.
6611
		#無.
6612
		$findKeyWord=search::findKeyWord($conf["search::findKeyWord"]);
6612
		$findKeyWord=search::findKeyWord($conf["search::findKeyWord"]);
6613
		unset($conf["search::findKeyWord"]);
6613
		unset($conf["search::findKeyWord"]);
6614
		
6614
 
6615
		#如果執行失敗
6615
		#如果執行失敗
6616
		if($findKeyWord["status"]==="false"){
6616
		if($findKeyWord["status"]==="false"){
6617
			
6617
 
6618
			#設置執行失敗
6618
			#設置執行失敗
6619
			$result["status"]="false";
6619
			$result["status"]="false";
6620
			
6620
 
6621
			#設置執行錯誤
6621
			#設置執行錯誤
6622
			$result["error"]=$findKeyWord;
6622
			$result["error"]=$findKeyWord;
6623
			
6623
 
6624
			#回傳結果
6624
			#回傳結果
6625
			return $result;
6625
			return $result;
6626
			
6626
 
6627
			}#if end
6627
			}#if end
6628
			
6628
 
6629
		#如果有符合條件的內容
6629
		#如果有符合條件的內容
6630
		if($findKeyWord["founded"]==="true"){
6630
		if($findKeyWord["founded"]==="true"){
6631
			
6631
 
6632
			#設置執行正常
6632
			#設置執行正常
6633
			$result["status"]="true";
6633
			$result["status"]="true";
6634
			
6634
 
6635
			#設置沒有找到 shell 變數
6635
			#設置沒有找到 shell 變數
6636
			$result["founded"]="false";
6636
			$result["founded"]="false";
6637
			
6637
 
6638
			#回傳結果
6638
			#回傳結果
6639
			return $result;
6639
			return $result;
6640
			
6640
 
6641
			}#if end
6641
			}#if end
6642
			
6642
 
6643
		#執行到這邊代表真的有 shell 變數存在
6643
		#執行到這邊代表真的有 shell 變數存在
6644
		
6644
 
6645
		#設置執行正常
6645
		#設置執行正常
6646
		$result["status"]="true";
6646
		$result["status"]="true";
6647
			
6647
 
6648
		#設置沒有找到 shell 變數
6648
		#設置沒有找到 shell 變數
6649
		$result["founded"]="true";
6649
		$result["founded"]="true";
6650
			
6650
 
6651
		#回傳結果
6651
		#回傳結果
6652
		return $result;
6652
		return $result;
6653
		
6653
 
6654
		}#function findShellVar end
6654
		}#function findShellVar end
6655
		
6655
 
6656
	}#class search end
6656
	}#class search end
6657
 
6657
 
6658
?>
6658
?>