搜尋
首頁php教程php手册PHP中常用的字符串格式化函数总结

这篇文章主要介绍了PHP中常用的字符串格式化函数总结,本文讲解的函数是WEB中经常用到的,例如取出空格和字符串填补函数、字符串大小写的转换、和HTML标签相关的字

字符串的格式化就是将字符串处理为某种特定的格式。通常用户从表单中提交给服务器的数据都是字符串的形式,为了达到期望的输出效果,就需要按照一定的格式处理这些字符串后再去使用。经常见到的字符串格式化函数如下图所示:

注意:在PHP中提供的字符串函数处理的字符串,大部分都不是在原字符串上修改,而是返回一个格式化后的新字符串。

一、取出空格和字符串填补函数

空格也是一个有效的字符,在字符串中也会占据一个位置。用户在表单输入数据时,经常在无意中会多输入一些无意义的空格。因此PHP脚本在接收到通过表单处理过来的数据时,首先处理的就是字符串中多余的空格,或者其他一些没有意义的符号。在PHP中可以通过ltrim()、rtrim()和trim()函数来完成这项工作。这三个函数的语法格式相同,但作用有所不同。他们的语法格式如下所示:

复制代码 代码如下:


string ltrim(string str[,string charlist])                //从字符串左侧删除空格或其他预定义字符
string rtrim(string str[,string charlist])              //从字符串右侧删除空白字符或其他预定义字符
string trim(string str[,string charlist])              //从字符串的两端删除空白字符或其他预定义字符


这三个函数分别用于从字符串的左、右和两端删除空白字符或其他预定义字符。处理后的结果都会以新字符串的形式返回,不会在原字符串上修改。其中第一个参数str是待处理的字符串,为必选项。第二个参数charlist是过滤字符串,用于指定希望去除的特殊符号,该参数为可选。如果不指定过滤字符串,默认情况下会去掉下列字符。

★”":空格
★”0\”:NULL
★”\t”:制表符
★”\n”:新行
★”\r”:回车

此外还可以使用“..”符号指定需要去除的一个范围,例如“0..9”或“a..z”表示去掉ASCII码值中的数字和小字母。它们的使用代码如下所示:

复制代码 代码如下:


$str = "123 This is a test ..."; //声明一个测试字符串,左侧为数字开头,右侧为省略号
echo ltrim($str,"0..9"); //过滤掉字符串左侧的数字,输出This is a test ...
echo rtrim($str,".") //过滤掉字符串右侧的所有“.”,输出:123 This is a test
echo trim($str,"0..9 A..Z ."); //过滤掉字符串两端的数字和大写字母还有“.”,输出:his is a test
?>

不仅可以按需求过滤掉字符串中的内容,还可以使用str_pad()函数按需求对字符串进行填补。可以用于对一些敏感信息的保护,例如数据的对并排列等。其函数的原型如下所示:

复制代码 代码如下:


string str_pad(string input,int pad_length[,string pad_string[,int pad_type]])


该函数有4个参数,第一个参数指明要处理的字符串。第二个参数给定处理后字符串的长度,如果该值小于原始字符串的长度,则不进行任何操作。第三个参数指定填补时所用的字符串,它为可选参数,如果没有指定则默认使用空格填补。最后一个参数指定填补的方向,它有三个可选值:STR_PAD_BOTH、STR_PAD_LEFT和STR_PAD_RIGHT,分别代表在字符串两端、左和右进行填补。也是一个可选参数,如果没有指定,则默认值是STR_PAD_RIGHT。函数str_pad()的使用代码如下所示:

复制代码 代码如下:


$str = "LAMP";
echo str_pad($str,10);         //指定长度为10,默认使用空格在右边填补“LAMP”
echo str_pad($str,10,"-="STR_PAD_LEFT);     //指定长度为10,指定在左边填补“-=-=-=LAMP”
echo str_pad($str,10,"_"STR_PAD_BOTH);     //指定长度为10,指定在左边填补“___LAMP___”
?>

二、字符串大小写的转换

在PHP中提供了4个字符串大小写的转换函数,它们都只有一个可选参数,即传入要进行转换的字符串。可以直接使用这些函数完成大小写转换的操作。函数strtoupper()用于将给定的字符串全部转换为大写字母;函数strtolower()用于将给定的字符串全部转换为小写字母;函数ucfirst()用于将给定的字符串中的首字母转换为大写,其余字符不变;函数ucwords()用于将给定的字符串中全部以空格分割的单词首字母转换为大写。下面的程序是这些函数的使用代码,如下所示:

复制代码 代码如下:


$lamp = "lamp is composed of Linux 、Apache、MySQL and PHP";
echo strtolower($lamp); //输出:lamp is composed of linux、apache、mysql and php
echo strtoupper($lamp); //输出:LAMP IS CONPOSED OF LINUX、APACHE、MYSQL AND PHP
echo ucfirst($lamp); //输出:Lamp is composed of Linux 、Apache、MySQL and PHP
echo ucwords($lamp); //输出: Lamp Is Composed Of Linux 、Apache、MySQL And PHP
?>


这些函数只是按照他们说明描述的方式工作,要想确保一个字符串的首字母是大写字母,而其余的都是小写字母,就需要使用符合的方式。如下所示:

复制代码 代码如下:


$lamp = "lamp is composed of Linux 、Apache、MySQL and PHP";
echo ucfirst(strtolower($lamp)); //输出:Lamp is composed of linux、apache、mysql and php
?>

三、和HTML标签相关的字符串格式化

HTML的输入表单和URL上附加资源是用户将数据提交给服务器的途径,如果不能很好地处理,就有可能成为黑客攻击服务器的入口。例如,用户在发布文章时,在文章中如果包含一些HTML格式标记或JavaScript的页面转向等代码了,直接输出显示则一定会使用页面的布局发生改变。因为这些代码被发送到浏览器中,浏览器会按有效的代码去解释。所以在PHP脚本中,对用户提交的数据内容一定要先处理。在PHP中为我们提供了非常全面的HTML相关的字符串格式化函数,可以有效地控制HTML文本的输出。

①函数nl2br()

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器