基于PHP常用字符串的总结(待续)
1.分割与合并
implode:
echo implode(",", array('lastname', 'email', 'phone'));//数组转成字符串
explode:
print_r(explode(",", 'lastname,email,phone'));//字符串转成数组
split:
print_r(split("[/.-]","2008-9.12"));//以/或.或-任一符号切成数组
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 '
';
echo strtok("\n\t"); //当第二次返回:an example
echo '
';
echo strtok("\n\t"); //当第三次返回:string
2.查找和替换
字符串中很多是 r:取最后的,i:不区分大小写的
echo $pos = strpos('abcdef abcdaef', 'a'); // 字母a第一次出现的位置,区分大小写
echo $pos = strrpos('abcdef abcdeaf', 'a'); // 字母a最后一次出现的位置,区分大小写
stripos:不区分大小写
strripos:不区分大小写
echo strstr('user@exa@mple.com', '@');//返回:@exa@mple.com
stristr:不区分大小写
echo strchr('user@exa@mple.com', '@');//返回:@exa@mple.com
strrchr:则返回:@mple.com,
preg_grep:
//返回与模式匹配的数组单元
$food = preg_grep("/^p/",array("apple","orange","pip","banana"));
print_r($food); //返回:Array ( [2] => pip )
strtr:
//以指定的数组替换找到的字符串
$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 所匹配的次数。要么是 0 次(没有匹配)或 1 次,因为 preg_match() 在第一次匹配之后将停止搜索。
if (preg_match ("/php/i", "PhP is the web scripting language of choice."))
echo "存在";
else
echo "不存在";
preg_match_all:
//则相反,会一直搜索到 subject 的结尾处。
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:]/]",
"\\0", '这是百度http://www.baidu.com网站。');
preg_replace:过滤
$search = array ("'<script>]*?>.*?</script>'si", // 去掉 javascript
"']*?>'si", // 去掉 HTML 标记
"'([\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, 'test<script>alert("adfasdf");</script>');
preg_quote:
//转义正则表达式字符,把每个要加\都加上\,符合正则式。
echo preg_quote('$40 for a g3/400','/');//返回:\$40 for a g3\/400
sql_regcase:
//产生用于不区分大小的匹配的正则表达式
echo sql_regcase("Foo-bar.a"); //返回:[Ff][Oo][Oo]-[Bb][Aa][Rr].[Aa]
4.URL 编码处理函数
urlencode:
echo $str = urlencode('http://www.baidu.com?key=百度');//编码
echo urldecode($str);//解码
rawurlencode:
//百分号(%)后跟两位十六进制数的序列都将被替换成原义字符
//注: 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;
//有第二个参数时,把值存到了数组中
$str = "id=1&name=2";
parse_str($str,$array);
print_r($array);
5.时间函数
mktime:
//把日期转换成时间戳
echo time()-mktime(0,0,0,9,17,2008);//返回:当前时间和2008年9月17日的时间差。
echo date('Y-m-d H:i:s');//当前的日期和时间
getdate:
//取得日期/时间信息
print_r(getdate(time()));
6.比较
similar_text:
//比较两个字符串的相似度
$a = "Hellohhh6";
$b = "hello3hh";
echo similar_text($a,$b);//返回:6比较对应的位置有多少相同的字符
echo "
";
similar_text($a,$b,$similar);
echo $similar."%"; //输出相同字符的百分比
soundex:
//比较两个单词的发音
$a = "ddHello6";
$b = "hello3";
echo soundex($a)."
";
echo soundex($b)."
";
if(soundex($a)==soundex($b)) echo "发音相同";else echo '不同';
strnatcmp():
//按自然排序法时进行字符串比较
$arr = array("a1.jpg","a2.jpg","a3.jpg","a4.jpg");
$max = $arr[0];
for($i=0;$i
if(strnatcmp($arr[$i],$max)>0)
$max = $arr[$i];
}
echo $max;//返回:a4.jpg
strcmp:
//区分大小写,按字节进行字符串比较,第一个字符串大于第二个字符串时返回:1,等于返回:0,小于返回:-1
echo strcmp('abc','Abc');
strcasecmp:
//返回两个字符串的相差数
echo strcasecmp('wbc','bbc');//返回:21
strncmp:
//指定字元数目的字符串比对,此函数和相似,不同的是,你可以指定要用来比对的字符串的字元数目。如果任何一个字符串比 len还短时,则会使用那个字符串的长度来比对
echo strncmp("adrdvark","aardwolf",4);//返回:1
7.排序
sort:
//将数组的值由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);//字符串的填补函数__www.yahoo.com__
strlen("aaa");//求数组的长度返回:3
strrev();// 字符串的颠倒
strtolower();//转换成小写
strtoupper();//转换成大写
str_replace()将字符串替换,区分大小写str_ireplace()不区分大小写
ucfirst();//将第一个字母转换成大写
ucwords();//将每个单词的第一个字母转换成大写
echo join("&",array('wo', 'men', 'shi'));//字符串的连合 返回:wo&men&shi用&连合
count_chars:
//传回在字符串中使用的字元的资讯
print_r(count_chars("Hellohhh6",0));//返回字符串中每个字节值(0~255)出现的次数作为值的数组。0列出所有的。1只列出现次数大于0的。2只列出现次数等于0的。3返回所使用的字节值组成的字符串。如:6Hehlo。4返回所未使用的字节值组成的字符串
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");//统计子字符串的出现的个数
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 统计字符串的单词的个数
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/ )这里是忽略"/"的

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7
