php中字符串处理

printf类型说明符


说明符


意     义


b


参数是一个整数并显示为一个二进制数


c


参数是一个整数并显示为对应于该值的字符


d


参数是一个整数并显示为一个十进制数


e或f


参数是一个双精度数并且显示为一个浮点数


g


参数是一个有精度双精度数并且显示为一个浮点数


o


参数是一个整数并显示为一个八进制(以8为基数的)数


s


参数是一个字符串并且显示为字符串


u


参数是一个无符号整数并且显示为一个十进制数


x


参数是一个整数并且显示为一个十六进制(以16为基数)数,用小写字母


X


参数是一个整数并且显示为一个十六进制(以16为基数)数,用大写字母

格式化一个日期:

printf(‘%02d/%02d%04d’,$month,$day,$year);

输出:02/15/2002

一个浮点数转换成只有两位小数的数:

printf(‘%.2f’,27.452);

输出:27.45

--------------------------------------------------------

整理字符串

1、删除空白符

可以用trim( )、ltrim( )、rtrim( )函数删除字符串刊头或结尾的空白:

$trimmed = trim(string[,charlist]);

$trimmed = ltrim(string[,charlist]);

$trimmed = rtrim(string[,charlist]);

trim( )返回一个删除了开头和结尾空格的字符串的拷贝

ltrim()(l表示left)完成同样的工作,但是仅删除该字符串左边的空白符

rtrim()(r表示right)仅删除字符串右边的空白符。

2、改变大小写

PHP有一些函数用于改变字符串大小写:strtolower()和strtoupper()对整个字符串进行操作,ucfirst()仅操作字符串的第一个字母,ucwords()操作字符串里每一个单词的首字母。每一个函数带有一个被操作的字符串作为参数并返回一个字符串的一个拷贝,该拷贝已经进行了适当的改变。例如:

$string1 = “FRED flintstone”;

$string2 = “barney rubble”;

print(strtolower($string1));

print(strtoupper($string1));

print(ucfirst($string2));

print(ucwords($string2));

依次输出结果为:

fred flintstone

FRED FLINTSTONE

Barney rubble

Barney Rubble

-----------------------------------------

编码与转义

因为PHP最经常与HTML页面、WEB地址(URL)及数据库交互。所以有一些函数来帮助你处理那些数据类型。虽然HTML,WEB页地址和数据库命令都是字符串,但是它们每一个都要求不同的字符用不同的方法进行转义,例如,在WEB地址里的一个空格必须写成%20,而在HTML文档里的一个直接量小于号(<)必须写成&lt;,PHP有【许多内置函数】来转换这些编码。

------------------------------------------------------

(一)HTML

•HTML中的特殊字符通过如&amp;和&lt;这样的实体(entity)来表示。有两个函数用于将字符串中的特殊字符转换成他们的实体,其中一个用于删除HTML标签,另一个用于提取META标签。

•对所有的特殊字符进行实体引用

•htmlentities()函数用HTML实体等价物转换所有字符(空格符除外)。这些字符包括小于号(<)、大于号(>)、&符号和着重字符。

时间: 2024-11-06 07:29:38

php中字符串处理的相关文章

Python中字符串格式化如何实现?

Python开发中字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. This PEP proposes a new system for built-in string formatting operations, intended as a replacement for the existing '%' string formatting operator. 1.百分号方式 %[(na

python中字符串链接的七种方式

一. str1+str2 string类型 '+'号连接 >>> str1="one" >>> str2="two" >>> str1+str2 'onetwo' >>>注意:该方式性能较差,因为python中字符串是不可变的类型,使用 + 连接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当连续相加的字符串很多时(a+b+c+d+e+f+...) ,效率低下就是必然的了例

Python中字符串查找效率比较

Python中字符串查找方式有多种,常见的有re.match/search or str.find 用一个例子来说明各种方式的效率如下: from timeit import timeit import re def find(string, text): if string.find(text) > -1: pass def re_find(string, text): if re.match(text, string): pass def best_find(string, text): i

【转】Java中字符串中子串的查找共有四种方法(indexof())

原文网址:http://wfly2004.blog.163.com/blog/static/1176427201032692927349/ Java中字符串中子串的查找共有四种方法,如下:1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引. 2.int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引. 3.int lastIndexOf(String st

c语言中字符串操作的工具类

 1.编写头文件 #define _CRT_SECURE_NO_WARNINGS //#pragmawarning(disable:4996) #include <stdio.h> #include <stdlib.h> #include <string.h> struct CString { char *p;        //保存字符串首地址 int reallength; //实际长度 }; typedef struct CString mystring;//

Java中字符串比较时==和equals的区别

==是比较两个字符串引用的地址是否相同,即是否指向同一个对象,而equals方法则比较字符串的内容是否相同. 例如String a = "abc"; String b = "abc"; a == b返回true,a.equals(b)同样返回true,这是为什么呢? 原来程序在运行时有一个字符串池,创建字符串时会先查找池中是否有相应的字符串,如果已经存在的话只需把引用指向它即可,如果没有则新建一个. 上例中创建a时,会在字符串池中首先创建一个"abc&qu

php中字符串编码

php中抓取网页拼接url的时候经常需要进行编码,这时候就用到两个函数 mb_detect_encoding - 检测字符的编码. mb_convert_encoding - 转换字符的编码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <?php /* 使用当前的 detect_order 来检测字符编码 */ echo mb_detect_encoding($str); /* "auto" 将根据 mbstring.language 来扩展

C语言中字符串如何转换为二进制、八进制、十进制、十六进制

在C语言某个程序当中需要把文本16进制转换成对应的16进制数,比如字符串"0x1a"转换成10进制的26,可以用以下函数来实现 相关函数: atof, atoi, atol, strtod, strtoul表头文件: #include <stdlib.h>定义函数: long int strtol(const char *nptr, char **endptr, int base):函数的解释说明 这个函数会将参数nptr字符串根据参数base来转换成长整型数.参数base

PHP中字符串的连接和换行

PHP中字符串的连接使用点,不是加号.换行\n需要用双引号括起来,不能用单引号. eg. <?php print_r("hello"."\n"); print_r("world"."\n"); print_r('hello'.'world'."\n"); ?> 结果: hello world hello world

Java中字符串对象

Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";,另一种就是使用new这种标准的构造对象的方法,如String str = new String("droid");,这两种方式我们在代码编写时都经常使用,尤其是字面量的方式.然而这两种实现其实存在着一些性能和内存占用的差别.这一切都是源于JVM为了减少字符串对象的重复创建,其维护了一个特殊的内存,这段内存被成为字符串常量池或者字符串字面量池. 工作原理 当代码中出现字