一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - 基于PHP常用字符串的總結(jié)(待續(xù))

基于PHP常用字符串的總結(jié)(待續(xù))

2020-04-07 11:55PHP教程網(wǎng) PHP教程

本篇文章是對PHP常用的字符串進(jìn)行了詳細(xì)的總結(jié)分析,需要的朋友參考下

1.分割與合并
implode:
echo implode(",", array('lastname', 'email', 'phone'));//數(shù)組轉(zhuǎn)成字符串

explode:
print_r(explode(",", 'lastname,email,phone'));//字符串轉(zhuǎn)成數(shù)組

split:
print_r(split("[/.-]","2008-9.12"));//以/或.或-任一符號切成數(shù)組

str_split:
print_r(str_split("Hello Friend",1));//將字符串切開

preg_split:
//正則分割
//$ops = preg_split("{[+*/-]}","3+5*9/2");
//print_r($ops);//返回:Array ( [0] => 3 [1] => 5 [2] => 9 [3] => 2 )

http_build_query:
//生成 url-encoded 之后的請求字符串
$data = array('localhost'=>'aa',
'user'=>'bb',
'password'=>'cc');
echo http_build_query($data);//返回:localhost=aa&user=bb&password=cc

strtok:
//將字符串切成小段
$string = "This is\tan example\nstring";
echo strtok($string,"\n\t");//返回:This is
echo '<hr>';
echo strtok("\n\t"); //當(dāng)?shù)诙畏祷兀篴n example
echo '<hr>';
echo strtok("\n\t"); //當(dāng)?shù)谌畏祷兀簊tring
2.查找和替換
字符串中很多是 r:取最后的,i:不區(qū)分大小寫的
echo $pos = strpos('abcdef abcdaef', 'a'); // 字母a第一次出現(xiàn)的位置,區(qū)分大小寫
echo $pos = strrpos('abcdef abcdeaf', 'a'); // 字母a最后一次出現(xiàn)的位置,區(qū)分大小寫
stripos:不區(qū)分大小寫
strripos:不區(qū)分大小寫
echo strstr('user@[email protected]', '@');//返回:@[email protected]
stristr:不區(qū)分大小寫
echo strchr('user@[email protected]', '@');//返回:@[email protected]
strrchr:則返回:@mple.com,

preg_grep:
//返回與模式匹配的數(shù)組單元
$food = preg_grep("/^p/",array("apple","orange","pip","banana"));
print_r($food); //返回:Array ( [2] => pip )

strtr:
//以指定的數(shù)組替換找到的字符串
$arr = array("www"=>"ftp","yahoo"=>"baidu");
echo strtr("www.yahoo.com",$arr);//返回:ftp.baidu.com
echo strtr("www.yahoo.com","wo","sx");//返回:sss.yahxx.cxm 翻譯字符串 把所有w換成了s把所有的o換成了x

strspn:
//找出比對到的最初部份的長度
echo strspn("abcdefg","1234567890");//返回:0
//找出沒有比對到的最初部份的長度
echo strcspn("abcdefg","1234567890");//返回:7


3.正則
preg_match:
//返回 pattern 所匹配的次數(shù)。要么是 0 次(沒有匹配)或 1 次,因為 preg_match() 在第一次匹配之后將停止搜索。
if (preg_match ("/php/i", "PhP is the web scripting language of choice."))
echo "存在";
else
echo "不存在";

preg_match_all:
//則相反,會一直搜索到 subject 的結(jié)尾處。
preg_match_all("/\(?(\d{3})?\)?(?(1)[\-\s])\d{3}-\d{4}/x",
"Call 555-1212 or 1-800-555-1212", $phones);
print_r($phones[0]);//取得所有的電話號碼

ereg_replace:
//URL 替換為超連接
echo ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
"<a href=\"\\0\">\\0</a>", '這是百度http://www.baidu.com網(wǎng)站。');
preg_replace:過濾
$search = array ("'<script[^>]*?>.*?</script>'si",  // 去掉 javascript
"'<[\/\!]*?[^<>]*?>'si",           // 去掉 HTML 標(biāo)記
"'([\r\n])[\s]+'",                 // 去掉空白字符
"'&(quot|#34);'i",                 // 替換 HTML 實體
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'&#(\d+);'e");                    // 作為 PHP 代碼運行
$replace = array ("",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\\1)");
echo $text = preg_replace ($search, $replace, '<b>test</b><script>alert("adfasdf");</script>');

preg_quote:
//轉(zhuǎn)義正則表達(dá)式字符,把每個要加\都加上\,符合正則式。
echo preg_quote('$40 for a g3/400','/');//返回:\$40 for a g3\/400

sql_regcase:
//產(chǎn)生用于不區(qū)分大小的匹配的正則表達(dá)式

echo sql_regcase("Foo-bar.a"); //返回:[Ff][Oo][Oo]-[Bb][Aa][Rr].[Aa]

4.URL 編碼處理函數(shù)
urlencode:
echo $str = urlencode('http://www.baidu.com?key=百度');//編碼
echo urldecode($str);//解碼

rawurlencode:
//百分號(%)后跟兩位十六進(jìn)制數(shù)的序列都將被替換成原義字符
//注: rawurldecode() 不會把加號('+')解碼為空格,而 urldecode() 可以。
echo $str = rawurlencode('http://www.baidu.com?key=百度');//編碼
echo rawurldecode($str);

parse_url:
//解析 URL,返回其組成部分
print_r(parse_url("http://username:password@hostname/path?arg=value#anchor"));

parse_str:
//是將URL解析成變量
$str = "id=1&name=2";
parse_str($str);
echo $name;
//有第二個參數(shù)時,把值存到了數(shù)組中
$str = "id=1&name=2";
parse_str($str,$array);
print_r($array);

5.時間函數(shù)
mktime:
//把日期轉(zhuǎn)換成時間戳
echo time()-mktime(0,0,0,9,17,2008);//返回:當(dāng)前時間和2008年9月17日的時間差。
echo date('Y-m-d H:i:s');//當(dāng)前的日期和時間

getdate:
//取得日期/時間信息
print_r(getdate(time()));
6.比較
similar_text:
//比較兩個字符串的相似度
$a = "Hellohhh6";
$b = "hello3hh";
echo similar_text($a,$b);//返回:6比較對應(yīng)的位置有多少相同的字符
echo "<br>";
similar_text($a,$b,$similar);
echo $similar."%"; //輸出相同字符的百分比

soundex:
//比較兩個單詞的發(fā)音
$a = "ddHello6";
$b = "hello3";
echo soundex($a)."<br>";
echo soundex($b)."<br>";
if(soundex($a)==soundex($b)) echo "發(fā)音相同";else echo '不同';

strnatcmp():
//按自然排序法時進(jìn)行字符串比較
$arr = array("a1.jpg","a2.jpg","a3.jpg","a4.jpg");
$max = $arr[0];
for($i=0;$i<count($arr);$i++)
{
if(strnatcmp($arr[$i],$max)>0)
$max = $arr[$i];
}
echo $max;//返回:a4.jpg

strcmp:
//區(qū)分大小寫,按字節(jié)進(jìn)行字符串比較,第一個字符串大于第二個字符串時返回:1,等于返回:0,小于返回:-1
echo strcmp('abc','Abc');
strcasecmp:
//返回兩個字符串的相差數(shù)
echo strcasecmp('wbc','bbc');//返回:21
strncmp:
//指定字元數(shù)目的字符串比對,此函數(shù)和相似,不同的是,你可以指定要用來比對的字符串的字元數(shù)目。如果任何一個字符串比 len還短時,則會使用那個字符串的長度來比對
echo strncmp("adrdvark","aardwolf",4);//返回:1

7.排序
sort:
//將數(shù)組的值由a-z重排
$a = array("1","s","3","n","5");//返回:1,3,5,n,s
sort($a);//排序print_r($a);


8.其他
str_pad:
//填塞字符串成為指定的長度,pad_type可以是STR_PAD_RIGHT、STR_PAD_LEFT或是STR_PAD_BOTH
echo str_pad("www.yahoo.com",17,"_",STR_PAD_BOTH);//字符串的填補(bǔ)函數(shù)__www.yahoo.com__
strlen("aaa");//求數(shù)組的長度返回:3
strrev();// 字符串的顛倒
strtolower();//轉(zhuǎn)換成小寫
strtoupper();//轉(zhuǎn)換成大寫
str_replace()將字符串替換,區(qū)分大小寫str_ireplace()不區(qū)分大小寫
ucfirst();//將第一個字母轉(zhuǎn)換成大寫
ucwords();//將每個單詞的第一個字母轉(zhuǎn)換成大寫
echo join("&",array('wo', 'men', 'shi'));//字符串的連合 返回:wo&men&shi用&連合

count_chars:
//傳回在字符串中使用的字元的資訊
print_r(count_chars("Hellohhh6",0));//返回字符串中每個字節(jié)值(0~255)出現(xiàn)的次數(shù)作為值的數(shù)組。0列出所有的。1只列出現(xiàn)次數(shù)大于0的。2只列出現(xiàn)次數(shù)等于0的。3返回所使用的字節(jié)值組成的字符串。如:6Hehlo。4返回所未使用的字節(jié)值組成的字符串
str_replace:
str_replace("yahoo","baidu","www.yahoo.com");
$c = "www.yahoo.com";
$arr = array("yahoo","com");
echo str_replace($arr,"baidu",$c);//返回:www.baidu.baidu

$c = "www.yahoo.com";
$arr1 = array("www","yahoo","com");
$arr2 = array("ftp","baidu","net");
echo str_replace($arr1,$arr2,$c);//返回:ftp.baidu.net

substr($a,2,2);//取子字符串
echo substr_count("This is a test", "is");//統(tǒng)計子字符串的出現(xiàn)的個數(shù)
substr_replace();//替換子字符串

$url = "http://localhost/zheng_ze_biao_da/youxiang.php";
echo substr($url,strrpos($url,"/")+1);//返回:youxiang.php用于返回文件名

str_word_count:
$a = "I/ love/ you/";
echo str_word_count($a);//返回:3 統(tǒng)計字符串的單詞的個數(shù)
print_r(str_word_count($a,1));//返回:Array ( [0] => I [1] => love [2] => you )
//print_r(str_word_count($a,2));//返回:Array ( [0] => I [3] => love [9] => you )
//print_r(str_word_count($a,1,"/"));返回:Array ( [0] => I/ [1] => love/ [2] => you/ )這里是忽略"/"的

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜一级影院 | 情乱奶水欲 | 国产精品视频免费看 | 女子张腿让男人桶免费 | 热99精品 | 给我免费的视频在线观看 | 亚洲国产精品日韩高清秒播 | 国产永久在线观看 | 青青草国产青春综合久久 | 特黄特黄aaaa级毛片免费看 | 国产日本免费 | chinesemature丰满成熟 | 暖暖视频日本 | 亚洲欧洲网站 | 好大好硬抽搐好爽想要 | 美女在线看永久免费网址 | 出水小说 | 99re这里只有精品视频在线观看 | 久久久精品免费视频 | 久热在线这里只有精品7 | 精品久久免费观看 | av72成人| 久久人妻熟女中文字幕AV蜜芽 | 亚洲第一区欧美日韩精品 | 亚洲羞羞裸色私人影院 | 草莓在深夜释放自己软件 | 99这里只有精品在线 | 五月婷婷丁香在线视频 | 丝袜兔女郎被啪在线观看91 | 亚洲国产精品久久久久 | 国产真实乱子伦xxxxchina | 亚洲天堂视频在线观看 | 亚洲国产成人精品无码区99 | 亚洲一区二区三区不卡在线播放 | 亚洲国产天堂久久综合网站 | 五月色婷婷网在线观看 | 精品国产国偷自产在线观看 | 色中文 | 久久精品热99看 | 日本三级香港三级久久99 | 免费视频亚洲 |