PHP字符串操作

<?php
	echo "apple\rpear\napple\tbanana<br/>";
	$best = "PHP";
	$str1 = "I Like $best";	//雙引號的內容是經過PHP語法分析器解析過的 任何變量在雙引號中都會被轉換成它的值輸出
	$str2 = 'I Like $best';	//單引號的內容都被當做普通字符串輸出
	//在進行SQL查詢之前 所有的字符串都必須加上單引號 以避免可能的注入漏洞和SQL錯誤
	echo $str1;
	echo '<br/>';
	echo $str2;
	echo '<br/>';


	//trim() 用於去掉收尾空格和特殊字符
	$str3 = "\r\r(:@_@ 創圖書館編撰偉業 展軟件開發雄風 @_@:)";
	echo trim($str3);
	echo '<br/>';
	echo trim($str3,"\r\r(:");
	echo '<br/>';
	//第二個是可選參數  指定要刪除的字符 如果不設置該參數 所有的可選字符都將被刪除 也可以在參數中提供要去除的特殊字符
	//Itrim() 用於去除左邊的特殊字符和空格
	//Rtrim() 用於去除右邊的特殊字符和空格


	//手動轉義還原字符串數據
	echo '\'PHP5從入門到精通\'<br/>';
	//自動轉義還原字符串數據
	//addslashes() 用來爲字符串str加上反斜槓線
	//stripslashes() 用來將addslashes()轉義的字符串str恢復原樣
	$str4 = "'PHP5從入門到精通'";
	echo $str4.'<br/>';
	$a = addslashes($str4);
	echo $a.'<br/>';
	$b = stripslashes($str4);
	echo $b.'<br/>';
	//所有數據在插入數據庫之前 有必要應用addslashes()進行轉義 以免特殊字符串未經轉義而插入數據庫時出現錯誤


	//addcslashes() 在指定的字符前加入反斜線
	//stripcslashes() 將addslashed()轉義的字符串還原
	$c = "編程體驗網";
	echo $c.'<br/>';
	$a = addcslashes($c, "編程體驗網");
	echo $a.'<br/>';
	$b = stripcslashes($c);
	echo $b.'<br/>';
	//在緩存文件中 一般對緩存數據值採用addcslashes() 進行指定範圍的轉義


	//獲取字符串的長度
	echo strlen("編程體驗網hahahaha").'<br/>';
	/*if(strlen($_POST['pwd'])<6)
		echo "密碼長度不能小於6位";
	else
		echo "密碼長度合法!";*/
?>
<!--<form action="UNIT5.php" method="post">
	<input type="password" name="pwd">
	<input type="submit">
</form>-->
<?php
	//截取字符串
	//substr(string str,int start,[,int length])
	//字符串 開始截取位置  (可選參數)指定截取個數
	// 如果start爲負數 從末尾開始截取 如果length爲負數 截取到倒數第length個
	echo substr("she is a well-read girl",0);
	echo '<br/>';
	echo substr("she is a well-read girl",4,14);
	echo '<br/>';
	echo substr("she is a well-read girl",-4,4);
	echo '<br/>';
	echo substr("she is a well-read girl",0,-4);
	echo '<br/>';
	//截取超長文本的部分字符串
	$text="PHP(外文名:PHP: Hypertext Preprocessor,中文名:\"超文本預處理器\")是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。";
	if(strlen($text)>40)
		echo substr($text,0,40)."...<br/>";
	else
		echo $text;
	/*使用substr()截取中文字符串時 如果截取的字符串是奇數 就會導致截取的中文字符出現亂碼
	因爲一箇中文字符由兩個字節組成 所有substr()適用於對英文字符串的截取 如果想要對中文字符串進行截取
	而且要避免亂碼 最好的方法就是用substr()編寫一個自定義函數*/


	//比較字符串 
	//1.按字節進行比較 strcmp()區分大小寫  strcasecmp()不區分大小寫 相等返回0 前一個大返回正數 反之 負數
	$str5="明日編程詞典";
	$str6="啦啦啦啦啦啦";
	$str7="mrsoft";
	$str8="MRSOFT";
	echo strcmp($str5,$str6).'<br/>';//1
	echo strcmp($str5,$str7).'<br/>';//1
	echo strcasecmp($str7,$str8).'<br/>';//0
	//2.按自然排序法進行比較 strnatcmp() strnatcasecmp() 比較的是字符串中的數字部分 將字符串中的數字大小進行比較
	$str5="str2.jpg";
	$str6="str10.jpg";
	echo strcmp($str5,$str6).'<br/>';//1 自然運算中2比10小 而在計算機序列中2比10大
	echo strcmp($str7,$str8).'<br/>';//1
	echo strnatcmp($str5,$str6).'<br/>';//-1
	echo strnatcmp($str7,$str8).'<br/>';//1
	//3.指定從源字符串的位置開始比較 strncmp(str1,str2,length);
	$str5="I like php";
	$str6="i am fine";
	echo strncmp($str5,$str6,2).'<br/>';//-1 比較前兩個字符


	//檢索字符串 strstr()查找關鍵字 substr_count()檢索字符串出現的次數
	html代碼:
	<!DOCTYPE html>
	<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<form method="post" action="index.php" enctype="multipart/form-data">
		<input type="hidden" name="action" value="upload"/>
		<input type="file" name="u_file"/>
		<input type="submit" value="上傳">
		</form>
	</body>
	</html>
index.php代碼
		if($_POST[action]=="upload"){	//判斷提交按鈕是否爲空
		$file_path="./uploads\\";	//定義圖片在服務器上的存儲位置
		$picture_name=$_FILES[u_file][name];		//獲取上傳圖片的名稱
		$picture_name=strstr($picture_name,".");
		if($picture_name!=".jpg"){
			echo "<script>alert(\"圖片上傳格式不正確!\");</script>";
		}
		else if($_FILES[u_file][tmp_name]){	//文件被上傳後在服務端儲存的臨時文件名
			move_uploaded_file($_FILES[u_file][tmp_name], $file_path.$_FILE[u_file][tmp_name]);	
			//執行圖片上傳
			echo "圖片上傳成功!";
		}
		else
			echo "圖片上傳失敗";
	}
	//使用substr_count()檢索字符串出現的次數
	$str="明日編程詞典";
	echo substr_count($str, "詞").'<br/>';
	/*檢索字符串出現的次數一般常用於搜索引擎中 針對子串在字符串中出現的次數進行統計
	使於用戶第一時間掌握子串在字符串中出現的次數*/


	//替換字符串
	//1.str_ireplace() 使用新字符串替換原始字符串中被指定要替換的字符串
	//mixed str_ireplace(mixed search,mixed replace,mixed subject,[,int &count]) 
	//					需要查找的字符串		替換的值		查找範圍		替換的次數 
	$strA="某某";
	$strB="**";
	$strC="某某公司是一家以...".'<br/>';
	echo str_ireplace($strA, $strB, $strC);
	//此函數在執行替換時不區分大小寫
	//字符串替換技術最常用的就是在搜索引擎的關鍵字處理中 可以使用字符串替換技術獎搜索到的字符串的關鍵字替換顏色 如 查詢關鍵字描紅功能 使搜索結果便於用戶查看
	$content="西安工業大學(英文名:Xi'an Technological University)位於歷史文化名城西安,是我國西北地區唯一一所以兵工爲特色,以工爲主,理、文、經、管、法協調發展的教學研究型、多科性和開放式的科學技術大學";
	$str="西安工業大學";
	echo str_ireplace($str, "<font color=\"#FF0000\">".$str."</font>", $content);
	//2.substr_replace()
	//String substr_replace(string str,string repl,int statr[,int length]);
	//							原始字符串	新字符串		起始位置		替換長度
	$str="用今日的辛勤工作,換明日的雙倍回報";
	$repalce="百倍";
	echo substr_replace($str, $replace, 26,4).'<br/>';


	//格式化字符串
	//number_format(float number[,int num_decimal_places,][string dec_seperator,string thousands_separator]);
	//此函數可以有一個 兩個 四個參數 但不能是三個 
	//一個參數: 捨去小數點後面的值 且第三位數字會以,隔開 
	//兩個參數: 格式化到小數點後第num_decimal_places位 每三位數字會以,隔開
	//四個參數: 格式化到小數點後第num_decimal_places位 dec_seperator用來代替小數點 thousands_separator用來代替第3位數字隔開的,
	$number=1868.69;
	echo number_format($number);
	echo '<br/>';
	echo number_format($number,2);
	echo '<br/>';
	$number=11886655.760055;
	echo number_format($number,2,'.','.');
	echo '<br/>';


	//分割字符串explode()
	//array explode(string separtor,string str[,int limit]);
						//指定分割的標識符	字符串 	
	//limit可選參數 返回的數組最多包含limit個元素 最後的元素將包含str剩下的部分 
	//如果爲負數 則返回除了最後的-limit個元素的所有元素
	$str="PHP編程詞典@NET編程詞典@ASP編程詞典@JSP編程詞典";
	$str_arr=explode("@", $str);
	print_r($str_arr);
	echo '<br/>';


	//合成字符串
	//implode()函數 將數組的內容合成一個新的字符串
	$array=implode("@", $str_arr);
	echo $array;
	echo '<br/>';


?>

發佈了44 篇原創文章 · 獲贊 89 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章