字符串替換函數:
str_replace() 區分大小寫 str_ireplace() 不區分大小寫 可以對數組進行替換
$url = "無人網https://www.nothong.com.cn不存在的域名";
$str = str_replace('h','H',$url);
echo $str;
結果:
無人網Https://www.notHong.com.cn不存在的域名
也可以對數組進行替換:
$url = "無人網https://www.nothong.com.cn不存在的域名";
$arr1 = array('h','w','o');
$arr2 = array('HH','WW','OO');
$str = str_replace($arr1,$arr2,$url,$k); //$k統計替換次數
echo $str,$k;
結果:
無人網HHttps://WWWWWW.nOOtHHOOng.cOOm.cn不存在的域名
8
strtr()
替換字符串中的任意字符。可以通過直接指定字符串,也可以通過數組形式: $url = "bbcs.wrvte.blog/pose_verbaxse-lan2gu%126";
$arr0 = array("bb"=>"B","w"=>"M","2"=>"Q","-"=>"_");
echo "原字符串:<br/>{$url}<br/>";
echo strtr($url,$arr0)."<br/>";
echo strtr($url,"bbw2-","BMQ_"); //"b"被替換成"M","-"不變
結果:
原字符串:
bbcs.wrvte.blog/pose_verbaxse-lan2gu%126
Bcs.Mrvte.blog/pose_verbaxse_lanQgu%1Q6
MMcs.Qrvte.Mlog/pose_verMaxse-lan_gu%1_6
字符串比較函數:
strcmp() 區分大小寫 strcasecmp() 不區分大小寫
比較字符串(逐個比較ASCII碼),如果相等返回0,前者大返回1,後者大返回-1。
strnatcmp() 按自然數比較字符串
strncmp(字符串, 字符串, 要比較的長度)
指定位置比較字符串。例如: echo strncmp("1001", "1002", 3);
similar_text(字符串, 字符串, $k[可選])
相似度比較,返回在兩個字符串中均存在的字符的個數。可以增加第三個參數$k,會被賦值爲相似度(百分比)。
字符串統計函數:
substr_count(字符串a, 字符串b, 開始查找的位置[可選], 要查找的長度[可選])
字符串處理函數:
parse_url() URL解析
$url = "https://www.nothing.com.cn/admin/index.php?uname=abc&a=add";
$arr = parse_url($url);
echo "<pre>";
print_r($arr);
echo $arr['host'];
echo "<br/>".parse_url($url,PHP_URL_PATH); //PHP_URL_SCHEME、PHP_URL_HOST、PHP_URL_QUERY
echo $arr['path'];
結果:
Array
(
[scheme] => https
[host] => www.nothing.com.cn
[path] => /admin/index.php
[query] => uname=abc&a=add
)
www.nothing.com.cn
/admin/index.php/admin/index.php
urlencode()和urldecode() 編碼和解碼
$str = "蛾兒雪柳黃金縷";
echo "<a href='26.php?h=".urlencode($str)."'>點擊</a><br/>"; //這段代碼包含在26.php中
echo $_GET['h'];
結果:
點擊 //超鏈接
蛾兒雪柳黃金縷
例1:
$str2 = "笑語盈盈暗香去";
echo urlencode($str2);
echo "<br/>";
echo urldecode(urlencode($str2));
結果:
%E7%AC%91%E8%AF%AD%E7%9B%88%E7%9B%88%E6%9A%97%E9%A6%99%E5%8E%BB
笑語盈盈暗香去
htmlentities(操作內容, 轉換規則[ 可選,默認爲ENT_COMPAT ]) 實體化轉換
$str2 = "<h1 style='color:red'>“笑語盈盈”'暗'\"香\"去</h1>"; // " 會被轉換爲",“”會被轉換爲“”
//echo urlencode($str2);
//echo "<br/>";
//echo urldecode(urlencode($str2));
echo $str2;
echo htmlentities($str2); //這裏未加參數,不會對單引號進行轉換
結果:
“笑語盈盈”'暗'"香"去
<h1 style='color:red'>“笑語盈盈”'暗'"香"去</h1>查看源代碼:
<h1 style='color:red'>“笑語盈盈”'暗'"香"去</h1><br/><h1 style='color:red'>“笑語盈盈”'暗'"香"去</h1>
htmlspecialchars() 非中文的實體化轉換
<div style="width:9999px;height:9999px;background-color:#000;z-index:9999;"></div>
htmlspecialchars_decode() 去實體化
addslashes() 自動字符轉義
get_magic_quotes_gpc() 獲得系統(php.ini)是否對外部表單項、cookie等開啓轉義,返回1或0
; magic_quotes_gpc
; Default Value: On
; Development Value: Off
; Production Value: Off
注意:使用addslashes()函數時,必須先確認系統是否開啓自動轉義,否則可能產生多重轉義。