PHP echo heredoc语法 总结
1.以 echo <<<开始标记 开始,以结束标记;结束,结束标记必须在一行开始处,前面不能有包括空格或缩进在内的任何字符,开始和结束标记后面的任何空格都会导致语法错误。开始标记和结束标记相同,比如常用大写的MYDOC、EOT、EOD来表示,但是不只限于那几个,只要保证开始标记和结束标记不在正文中出现即可。
2.位于开始标记和结束标记之间的变量和转义序列可以被正常解析,但是函数、操作符和引号则不会被解析。
3.heredoc语法常用在输出包含大量HTML语法文档且不希望引号和操作符被转义的时候。比如:函数outputhtml()要输出HTML的主页。可以有两种写法。很明显第二种写法比较简单和易于阅读。
<?php
$var=1;
function output1($var){
echo "
<html>
<head><title>测试</title>
</head>
<body>
var+1=\"".($var+1)."\"
</body>
</html>
";
}
output1($var);
function output2($var){
echo <<<MYDOC
<html>
<head>
<title>测试</title>
</head>
<body>
var+1=".($var+1)."
</body>
</htm>
MYDOC;
}
output2($var);
?>
PHP Stirng 字符串系统函数收集
============================
PHP utf8_decode() 函数
PHP XML Parser 函数
定义和用法
utf8_decode() 函数把 UTF-8 字符串解码为 ISO-8859-1。
该函数把用 UTF-8 方式编码的 ISO-8859-1 字符串转换成单字节的 ISO-8859-1 字符串。
如果成功,该函数将返回解码字符串;否则返回 false。
语法
utf8_decode(string)
=========================
ereg()
字符串比对解析。
语法: int ereg(string pattern, string string, array [regs]);
返回值: 整数/数组
函数种类: 资料处理
内容说明
本函数以 pattern 的规则来解析比对字符串 string。比对结果返回的值放在数组参数 regs 之中,regs[0] 内容就是原字符串 string、regs[1] 为第一个合乎规则的字符串、regs[2] 就是第二个合乎规则的字符串,余类推。若省略参数 regs,则只是单纯地比对,找到则返回值为 true。
使用范例
简单例子:
<?php
if (ereg("c","abcdef")){ //说明:判断abcdef中是否含有字母c
echo "通过";
}else{
echo "错误";
}
?>
下面这个例子是对输入的 E-Mail 作简单的检查,检查使用者的 E-Mail 字符串是否有 @ 字符,在 @ 字符前有英文字母或数字,在之后有数节字符串,最后的小数点后只能有二个或三个英文字母。super@mail.wilson.gs 就可以通过检查,super@mail.wilson 就不能通过检查。
<?php
if (ereg("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email)) {
echo "您的 E-Mail 通过初步检查";
}
?>
eregi()
用法与 ereg() 相同。不同之处在于
下面举例说明这两个函数的区别:
在abcdef中查找是否含有大写字母C
<?php
if (ereg("C","abcdef")){
echo "通过";
}else{
echo "错误";
}
?>
//返回结果是:错误
<?php
if (eregi("C","abcdef")){
echo "通过";
}else{
echo "错误";
}
?>
//返回结果是:通过
ereg() 有区分大小写,eregi()本函数与大小写无关。
================
urlencode
将字符串以 URL 编码。
语法: string urlencode(string str);
返回值: 字符串
函数种类: 编码处理
内容说明
本函数将字符串以 URL 编码。例如空格就会变成加号。Homepage 中 form 资料传送就是用 urlencode 编码后再送出。
使用范例
本例将中文字符串以 URL 编码过,转给别的 CGI 使用
<?php
$EncodeStr=urlencode($ChineseName);
echo "<a href=/cgi/personal.cgi?n=$EncodeStr>个人信息</a>";
?>
===================================
urldecode
还原 URL 编码字符串。
语法: string urldecode(string str);
返回值: 字符串
函数种类: 编码处理
内容说明
本函数将 URL 编码后字符串还原成未编码的样子。编码使用 %## 的格式。
===============================
base64_encode
//zuolo 注:不能含有中文
将字符串以 BASE64 编码。
语法: string base64_encode(string data);
返回值: 字符串
函数种类: 编码处理
内容说明
本函数将字符串以 MIME BASE64 编码。此编码方式可以让中文字或者图片也能在网络上顺利传输。在 BASE64 编码后的字符串只包含英文字母大小写、阿拉伯数字、加号与反斜线,共 64 个基本字符,不包含其它特殊的字符,因而才取名 BASE64。编码后的字符串比原来的字符串长度再加 1/3 左右。更多的 BASE64 编码信息可以参考 RFC2045 文件之 6.8 节。
===============================
base64_decode
将 BASE64 编码字符串解码。
语法: string base64_decode(string encoded_data);
返回值: 字符串
函数种类: 编码处理
内容说明
本函数将以 MIME BASE64 编码字符串解码。解码后的字符串可能为中文字符串或其它的二进位资料。
============================
PHP String 简介
String 字符串函数允许您对字符串进行操作。
安装
String 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。
PHP String 函数
PHP:指示支持该函数的最早的 PHP 版本。
函数 描述 PHP
addcslashes() 在指定的字符前添加反斜杠。 4
addslashes() 在指定的预定义字符前添加反斜杠。 3
bin2hex() 把 ASCII 字符的字符串转换为十六进制值。 3
chop() rtrim() 的别名。 3
chr() 从指定的 ASCII 值返回字符。 3
chunk_split() 把字符串分割为一连串更小的部分。 3
convert_cyr_string() 把字符由一种 Cyrillic 字符转换成另一种。 3
convert_uudecode() 对 uuencode 编码的字符串进行解码。 5
convert_uuencode() 使用 uuencode 算法对字符串进行编码。 5
count_chars() 返回字符串所用字符的信息。 4
crc32() 计算一个字符串的 32-bit CRC。 4
crypt() 单向的字符串加密法 (hashing)。 3
echo() 输出字符串。 3
explode() 把字符串打散为数组。 3
fprintf() 把格式化的字符串写到指定的输出流。 5
get_html_translation_table() 返回翻译表。 4
hebrev() 把希伯来文本从右至左的流转换为左至右的流。 3
hebrevc() 同上,同时把(\n) 转为 <br />。 3
html_entity_decode() 把 HTML 实体转换为字符。 4
htmlentities() 把字符转换为 HTML 实体。 3
htmlspecialchars_decode() 把一些预定义的 HTML 实体转换为字符。 5
htmlspecialchars() 把一些预定义的字符转换为 HTML 实体。 3
implode() 把数组元素组合为一个字符串。 3
join() implode() 的别名。 3
levenshtein() 返回两个字符串之间的 Levenshtein 距离。 3
localeconv() 返回包含本地数字及货币信息格式的数组。 4
ltrim() 从字符串左侧删除空格或其他预定义字符。 3
md5() 计算字符串的 MD5 散列。 3
md5_file() 计算文件的 MD5 散列。 4
metaphone() 计算字符串的 metaphone 键。 4
money_format() 把字符串格式化为货币字符串。 4
nl_langinfo() 返回指定的本地信息。 4
nl2br() 在字符串中的每个新行之前插入 HTML 换行符。 3
number_format() 通过千位分组来格式化数字。 3
ord() 返回字符串第一个字符的 ASCII 值。 3
parse_str() 把查询字符串解析到变量中。 3
print() 输出一个或多个字符串。 3
printf() 输出格式化的字符串。 3
quoted_printable_decode() 解码 quoted-printable 字符串。 3
quotemeta() 在字符串中某些预定义的字符前添加反斜杠。 3
rtrim() 从字符串的末端开始删除空白字符或其他预定义字符。 3
setlocale() 设置地区信息(地域信息)。 3
sha1() 计算字符串的 SHA-1 散列。 4
sha1_file() 计算文件的 SHA-1 散列。 4
similar_text() 计算两个字符串的匹配字符的数目。 3
soundex() 计算字符串的 soundex 键。 3
sprintf() 把格式化的字符串写写入一个变量中。 3
sscanf() 根据指定的格式解析来自一个字符串的输入。 4
str_ireplace() 替换字符串中的一些字符。(对大小写不敏感) 5
str_pad() 把字符串填充为新的长度。 4
str_repeat() 把字符串重复指定的次数。 4
str_replace() 替换字符串中的一些字符。(对大小写敏感) 3
str_rot13() 对字符串执行 ROT13 编码。 4
str_shuffle() 随机地打乱字符串中的所有字符。 4
str_split() 把字符串分割到数组中。 5
str_word_count() 计算字符串中的单词数。 4
strcasecmp() 比较两个字符串。(对大小写不敏感) 3
strchr() 搜索字符串在另一字符串中的第一次出现。strstr() 的别名 3
strcmp() 比较两个字符串。(对大小写敏感) 3
strcoll() 比较两个字符串(根据本地设置)。 4
strcspn() 返回在找到任何指定的字符之前,在字符串查找的字符数。 3
strip_tags() 剥去 HTML、XML 以及 PHP 的标签。 3
stripcslashes() 删除由 addcslashes() 函数添加的反斜杠。 4
stripslashes() 删除由 addslashes() 函数添加的反斜杠。 3
stripos() 返回字符串在另一字符串中第一次出现的位置(大小写不敏感) 5
stristr() 查找字符串在另一字符串中第一次出现的位置(大小写不敏感) 3
strlen() 返回字符串的长度。 3
strnatcasecmp() 使用一种“自然”算法来比较两个字符串(对大小写不敏感) 4
strnatcmp() 使用一种“自然”算法来比较两个字符串(对大小写敏感) 4
strncasecmp() 前 n 个字符的字符串比较(对大小写不敏感)。 4
strncmp() 前 n 个字符的字符串比较(对大小写敏感)。 4
strpbrk() 在字符串中搜索指定字符中的任意一个。 5
strpos() 返回字符串在另一字符串中首次出现的位置(对大小写敏感) 3
strrchr() 查找字符串在另一个字符串中最后一次出现的位置。 3
strrev() 反转字符串。 3
strripos() 查找字符串在另一字符串中最后出现的位置(对大小写不敏感) 5
strrpos() 查找字符串在另一字符串中最后出现的位置(对大小写敏感) 3
strspn() 返回在字符串中包含的特定字符的数目。 3
strstr() 搜索字符串在另一字符串中的首次出现(对大小写敏感) 3
strtok() 把字符串分割为更小的字符串。 3
strtolower() 把字符串转换为小写。 3
strtoupper() 把字符串转换为大写。 3
strtr() 转换字符串中特定的字符。 3
substr() 截取/返回字符串的一部分。 3
substr_compare() 从指定的开始长度比较两个字符串。 5
substr_count() 计算子串在字符串中出现的次数。 4
substr_replace() 把字符串的一部分替换为另一个字符串。 4
trim() 从字符串的两端删除空白字符和其他预定义字符。 3
ucfirst() 把字符串中的首字符转换为大写。 3
ucwords() 把字符串中每个单词的首字符转换为大写。 3
vfprintf() 把格式化的字符串写到指定的输出流。 5
vprintf() 输出格式化的字符串。 4
vsprintf() 把格式化字符串写入变量中。 4
wordwrap() 按照指定长度对字符串进行折行处理。 4
PHP String 常量
PHP:指示支持该常量的最早的 PHP 版本。
常量 描述 PHP
CRYPT_SALT_LENGTH 包含系统默认加密方法的长度。对于标准 DES 加密,长度是 2。
CRYPT_STD_DES 如果支持 2 字符 salt 的 DES 加密,则设置为 1,否则为 0。
CRYPT_EXT_DES 如果支持 9 字符 salt 的 DES 加密,则设置为 1,否则为 0。
CRYPT_MD5 如果支持以$1$开始的 12 字符 salt 的MD5加密,则设置为1,否则为0。
CRYPT_BLOWFISH 如果支持以 $2$ 或 $2a$ 开始的 16 字符 salt 的 Blowfish 加密,则设置为 1,否则为 0。
HTML_SPECIALCHARS
HTML_ENTITIES
ENT_COMPAT
ENT_QUOTES
ENT_NOQUOTES
CHAR_MAX
LC_CTYPE
LC_NUMERIC
LC_TIME
LC_COLLATE
LC_MONETARY
LC_ALL
LC_MESSAGES
STR_PAD_LEFT
STR_PAD_RIGHT
STR_PAD_BOTH
==============================================
substr_replace()
函数把字符串的一部分替换为另一个字符串。
语法
substr_replace(string,replacement,start,length)
参数 描述
string 必需。规定要检查的字符串。
replacement 必需。规定要插入的字符串。
start
必需。规定在字符串的何处开始替换。
正数 – 在第 start 个偏移量开始替换
负数 – 在从字符串结尾的第 start 个偏移量开始替换
0 – 在字符串中的第一个字符处开始替换
charlist
可选。规定要替换多少个字符。
正数 – 被替换的字符串长度
负数 – 从字符串末端开始的被替换字符数
0 – 插入而非替换
提示和注释
注释:如果 start 是负数且 length 小于等于 start,则 length 为 0。
例子
<?php
echo substr_replace("Hello world","earth",6);
?>
输出:
Hello earth
==========================
addslashes
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数使需要让数据库处理的字符串,引号的部份加上斜线,以供数据库查询 (query) 能顺利运作。这些会被改的字符包括单引号 (‘)、双引号 (")、反斜线 backslash (\) 以及空字符 NUL (the null byte)。
参考: stripslashes() htmlspecialchars() quotemeta()
bin2hex
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数让二进位字符串转成十六进位字符串。//zuolo:转为数字编码,而非16进制文字编码
使用范例
补充:
josh@superfork.com (22-Jun-1999) 写了一个函数,可将十六进位转成二进位。
<?
function hex2bin($data) {
$len = strlen($data);
for($i=0;$i<$len;$i+=2) {
$newdata .= pack("C",hexdec(substr($string,$i,2)));
}
return $newdata;
}
?>
chop
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将字符串的连续空白清除。
使用范例
<?
$trimmed = Chop($line);
?>
参考: trim()
chr
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将字符的序数转成 ASCII 的字符。本函数和 ord() 成对照。
使用范例
<?
$str .= chr(27);
$str = sprintf("字符串的结束字符是: %c", 27);
?>
参考: ord() sprintf()
chunk_split
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将字符变成小段供其它函数使用。例如,base64_encode。内定是参数 chunklen (76 个字符) 每隔 76 个字符插入 end ("\r\n")。返回新字符串而不改动原字符串。
使用范例
将字符串 $data 格式化成 MIME BASE64 格式
<?
$new_string = chunk_split(base64_encode($data));
?>
convert_cyr_string
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将古斯拉夫字符串转成其它的字符串。from 及 to 二个参数是字符,其代表意义如下:
k – koi8-r
w – windows-1251
i – iso8859-5
a – x-cp866
d – x-cp866
m – x-mac-cyrillic
==========================
crypt() 函数
语法: string crypt(string str, string [salt]);
返回值: 字符串
函数种类: 编码处理
内容说明: 本函数将字符串用 UNIX 的标准加密 DES 模块加密。这是单向的加密函数,无法解密。欲比对字符串,将已加密的字符串的头二个字符放在 salt 的参数中,再比对加密后的字符串。
更详细的资料请参考 UNIX Manual (man) 中的 crypt。
在一些较新的 UNIX 版本中,除了 DES 之外还提供了其它的加密模块,如 MD5。甚至有些系统还用 MD5 取代 DES。在 salt 参数还有一些变化,端看传给 salt 参数的字符串长度而定:
CRYPT_STD_DES – 标准的 DES 编码,输入 2 字符的 salt。
CRYPT_EXT_DES – 延伸的 DES 编码,输入 9 字符的 salt。
CRYPT_MD5 – MD5 编码,输入 12 字符加上 $1$ 的 salt。
CRYPT_BLOWFISH – 延伸的 DES 编码,输入 16 字符加上 $2$ 的 salt。
此外,若不使用 salt 参数,则程序会自动产生。
===============================
echo
返回值: 无
函数种类: PHP 系统功能
内容说明: 本函数将字符串输出。由于它不是真正的函数,因此也没有返回值。
使用范例
<?php
echo "Hello World";
?>
参考: print() printf() flush()
explode
返回值: 数组
函数种类: 资料处理
内容说明: 本函数将字符串依指定的字符串或字符 separator 切开。将切开后的字符串返回到数组变量中。
使用范例
<?
$pizza = "第一片 第二片 第三片 第四片 第五片 第六片";
$pieces = explode(" ", $pizza);
?>
参考: implode()
flush
返回值: 无
函数种类: 资料处理
内容说明: 本函数无输入亦无输出。将输出缓冲区的资料送出,并清出。
get_meta_tags
语法: array get_meta_tags(string filename, int [use_include_path]);
返回值: 数组
函数种类: 资料处理
内容说明: 本函数将 homepage 中的所有 <meta ……> 标记的资料取出并放置数组变量返回。例如
<html>
<head>
<meta content="彭武兴">
<meta content="PHP BIBLE">
<title>PHP BIBLE</title>
</head><!– 本函数处理只到这儿结束 –>
本函数找出 meta 标记,name 属性的字符串为数组索引,而 content 属性字符串则为数组的内容资料了。注意的是本函数为 PHP 原生函数,在 UNIX 系列平台上无法直接处理麦金塔的文件格式,因为换行字符不同。blake@mediaone.net 指出 (07-Jun-1999),参数 filename 也可以是 URL,函数将抽出远端服务器的文件 meta 标记。而函数在处理时,遇到 </head> 标记结束,要是 <meta ….> 标记放在 </head> 后将无法处理。
htmlspecialchars
语法: string htmlspecialchars(string string);
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将特殊字符转成 HTML 的字符串格式 ( &….; )。最常用到的场合可能就是处理客户留言的留言版了。
& (和) 转成 &
" (双引号) 转成 "
< (小于) 转成 <
> (大于) 转成 >
此函数只转换上面的特殊字符,并不会全部转换成 HTML 所定的 ASCII 转换。
使用范例
这是 aulbach@unter.franken.de (27-Jan-1999) 所提供的范例
<FORM ACTION=bla>
<H2>Restaurant Description<H2>
Name of restaurant:
<INPUT TYPE=text VALUE="<?
echo HTMLSpecialChars($restname); ?>">
<!– 变量 $restname 是酱子的 $restname="\"The White Horse\""; –>
<BR>
输入描述 (若您会 HTML,可直接使用): <BR>
<TEXTAREA ><?
echo HTMLSpecialChars($descript);
?></TEXTAREA>
<INPUT TYPE=submit>
</FORM>
参考: htmlentities() nl2br()
htmlentities
语法: string htmlentities(string string);
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数有点像 htmlspecialchars() 函数,但本函数会将所有 string 的字符都转成 HTML 的特殊字集字符串。不过在转换后阅读网页源代码的方面,会有很多困扰,尤其是网页源代码的中文字会变得不知所云,浏览器上看到的还是正常的。
implode
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将数组的内容组合成一个字符串,参数 glue 是字之间的分隔符号。
使用范例
<?
$colon_separated = implode(":", $array);
echo $colon_separated;
?>
参考: explode() join() split()
join
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数是 implode 函数的别名。
ltrim
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数用来删去字符串中的连续空白带 (whitespace)。
md5
语法: string md5(string str);
返回值: 字符串
函数种类: 编码处理
内容说明: 本函数用来计算 MD5 哈稀。关于 MD5 编码法,可以参考 RSA Data Security, Inc. MD5 Message-Digest Algorithm. RFC1321;或是赖溪松、韩亮、张真诚等合着之近代密码学及其应用,11.3。
nl2br
语法: string nl2br(string string);
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将换行字符转换成 HTML 换行的 <br> 指令。
参考: htmlspecialchars() htmlentities()
ord
返回值: 整数
函数种类: 资料处理
内容说明: 本函数返回字符的 ASCII (美国国家标准交换码) 序数值。本函数和 chr() 函数相反。
使用范例
<?php
if (ord($str) == 10) {
echo("字符串 \$str 的第一个字是换行字符。\n");
}
?>
参考: chr()
parse_str
语法: void parse_str(string str);
返回值: 无
函数种类: 资料处理
内容说明: 本函数可将浏览器返回的 GET 方法的 QUERY_STRING 字符串解析。返回的变量名及值就依 QUERY_STRING 的名称及值。
使用范例
<?php
$str = "first=value&second[]=this+works&second[]=another";
parse_str($str);
echo $first; // 显示出 "value" 字符串
echo $second[0]; // 显示 "this works" 字符串
echo $second[1]; // 显示 "another" 字符串
?>
print
返回值: 布尔值
函数种类: 资料处理
内容说明: 本函数输出字符串。若成功则返回 1,失败则返回 0。例如传输中途客户的浏览器突然挂了,则会造成输出失败的情形。
参考: echo() printf() flush()
printf
返回值: 整数
函数种类: 资料处理
内容说明: 本函数依参数 format 指定的内容格式将字符串格式化。格式的细节可以参考 sprintf()。
参考: print() sprintf() flush()
quoted_printable_decode
语法: string quoted_printable_decode(string str);
返回值: 字符串
函数种类: 编码处理
内容说明: 本函数可以将 quoted-printable 后的字符串解码成为 8 位编码的字符串。而本函数类似 imap_qprint() 函数,只一不同的地方是使用 imap_qprint() 函数需要让系统加入 IMAP 的模块,而本函数不需要 IMAP 模块。
quotemeta
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将字符串中含有 . \\ + * ? [ ^ ] ( $ ) 等字符的前面加入反斜线 "\" 符号。
参考: addslashes() htmlentities() htmlspecialchars() nl2br() stripslashes()
rawurldecode
语法: string rawurldecode(string str);
返回值: 字符串
函数种类: 编码处理
内容说明: 本函数将字符串解码。从 URL 的字符串专用格式解成普通字符串。详细的编码解码信息及规格文件可以参考 RFC 1738。
参考: rawurlencode()
rawurlencode
语法: string rawurlencode(string str);
返回值: 字符串
函数种类: 编码处理
内容说明: 本函数将字符串编码成 URL 的字符串专用格式,特殊的字符会转换成百分比符号后面加上二个十六位数字的格式。例如,空格就会变成 %20。
使用范例
<?php
echo ‘<a href="ftp://guest:’, rawurlencode (‘foo @+%/’), ‘@localhost/x.txt">’;
?>
参考: rawurldecode()
setlocale
返回值: 字符串
函数种类: 操作系统与环境
内容说明: 本函数用来配置地域的信息。参数 category 有下列的选择:
LC_ALL 包括下面的全项选项都要。
LC_COLLATE 配置字符串比较,PHP 目前尚未实作出来本项。
LC_CTYPE 配置字符类别及转换。例如全变大写 strtoupper()。
LC_MONETARY 配置金融货币,PHP 目前尚未实作。
LC_NUMERIC 配置小数点后的位数。
LC_TIME 配置时间日期格式,与 strftime() 合用。
而参数 locate 若是空字符串 "",则会使用系统环境变量的 locate 或是 LANG 的值。若 locate 为零,则不会改变地域化配置。返回新的地域,若系统尚未实作则返回 false。
使用范例
Michal Fita <manveru@witrynka.pl> 于 11-Jan-1999 11:01 提出这个以波兰作地域化的例子。
<?
setlocale("LC_ALL", "pl");
$net = "1234,56";
$gross = "1,22" * $net;
printf("毛利: %s, 净利: %s", $gross, $net");
/* 波兰总?/font>[值税为 22% */
?>
返回值则为
毛利: 1234,56, 净利: 1506,1632
similar_text
返回值: 整数
函数种类: 资料处理
内容说明
本函数用来计算比较二字符串的相似程度。
soundex
返回值: 字符串
函数种类: 资料处理
内容说明: Soundex 值是利用英文字的读音近似值所求得的值,值由四个字符构成,第一个字符为英文字母,后三个为数字。在拼音文字中有时会有会念但不能拼出正确字的情形,特别是在做搜寻引擎时面对用户传入的英文字符串,可用本函数做类似模糊比对的效果。例如 Knuth 和 Kant 二个字符串,它们的 soundex 值都是 H416。更详细的说明参考 Donald Knuth 大师的名著:电脑程序设计的艺术 (The Art Of Computer Programming) 第三卷排序和搜寻。
使用范例
<?
$str1=soundex("Wilson");
$str2=soundex("Waillsume");
echo "soundex(\"Wilson\")=$str1 等于\n";
echo "soundex(\"Waillsume\")=$str2\n";
echo "值均为 $str1";
?>
上例返回的字符串为
soundex("Wilson")=W425 等于
soundex("Waillsume")=W425
值均为 W425
sprintf
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数用来将字符串格式化。参数 format 是转换的格式,以百分比符号 % 开始到转换字符为止。而在转换的格式间依序包括了
填空字符。0 的话表示空格填 0;空格是默认值,表示空格就放着。
对齐方式。默认值为向右对齐,负号表向左对齐。
字段宽度。为最小宽度。
精确度。指在小数点后的浮点数位数。
类型,见下表 % 印出百分比符号,不转换。
b 整数转成二进位。
c 整数转成对应的 ASCII 字符。
d 整数转成十进位。
f 倍精确度数字转成浮点数。
o 整数转成八进位。
s 整数转成字符串。
x 整数转成小写十六进位。
X 整数转成大写十六进位。
使用范例
<?
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// 此时变量 $money 值为 "123.1";
$formatted = sprintf ("%01.2f", $money);
// 此时变量 $ formatted 值为 "123.10"
//zuolo
$autoid="ABC0001";
echo (substr($autoid,-4)+1); //输出 2
echo sprintf ("%04d",(substr($autoid,-4)+1)); // 输出 0002
?>
strchar
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数也就是 strstr() 函数。
strcmp
返回值: 整数
函数种类: 资料处理
内容说明: 本函数用来比较二字符串的大小。返回负数表示 str1 小于 str2;返回正数表示 str1 大于 str2;返回零表示二字符串相同。
strcspn
返回值: 整数
函数种类: 资料处理
内容说明: 本函数用来比较二字符串并计算出不同处的字符串长度。
参考: strspn()
strip_tags
语法: string strip_tags(string str);
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数可去掉字符串中包含的任何 HTML 及 PHP 的标记字符串。若是字符串的 HTML 及 PHP 标签原来就有错,例如少了大于的符号,则也会返回错误。而本函数和 fgetss() 有着相同的功能。
stripslashes
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数可去掉字符串中的反斜线字符。若是连续二个反斜线,则去掉一个,留下一个。若只有一个反斜线,就直接去掉。
参考: addslashes()
strlen
返回值: 整数
函数种类: 资料处理
内容说明: 本函数返回指定的字符串长度。
//zuolo 注意:echo strlen('试a');
在gb2312和ansi编码中,输出 3 相当于一个汉字占2位
在utf-8编码中,输出 4 相当于一个汉字占3位
strpos
返回值: 整数
函数种类: 资料处理
内容说明: 本函数用来寻找字符串 haystack 中的字符 needle 最先出现的位置。值得注意的是 needle 只能是一个字符,中文字等就不适合了。若找不到指定的字符,则返回 false 值。参数 offset 可省略,用来Y表示从 offset 开始找。
zuolo:试验中发现strpos如在第一个就找到所需和找不到,返回的都是0,这点要注意。可以用ereg函数来
判断是否存在字符。
strrpos
返回值: 整数
函数种类: 资料处理
内容说明: 本函数用来寻找字符串 haystack 中的字符 needle 最后出现的位置。值得注意的是 needle 只能是一个字符,中文字等就不适合了。若找不到指定的字符,则返回 false 值。
注释:该函数对大小写敏感。如需进行大小写不敏感的查找,请使用 strripos()。
例子
<?php
echo strrpos("Hello world!","wo");
?>
输出:
6
strripos() 函数
查找字符串在另一个字符串中最后一次出现的位置。
如果成功,则返回位置,否则返回 false。
语法
strripos(string,find,start)
注释:该函数对大小写不敏感。如需进行大小写敏感的查找,请使用 strrpos()。
例子
<?php
echo strripos("Hello world!","WO");
?>
输出:
6
================================
strrchr() 函数
查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。
如果成失败,否则返回 false。
语法
strrchr(string,char)参数 描述
string 必需。规定被搜索的字符串。
char 必需。规定要查找的字符。如果该参数是数字,则搜索匹配数字 ASCII 值的字符。
提示和注释
注释:该函数是二进制安全的。
例子
例子 1
<?php
echo strrchr("Hello world!","world");
?>输出:
world!
例子 2
<?php
echo strrchr("Hello world!",111);
?>输出:
orld!
================================
strchr() 函数
搜索一个字符串在另一个字符串中的第一次出现。
该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。
该函数是 strstr() 函数的别名。
语法
strchr(string,search)参数 描述
string 必需。规定被搜索的字符串。
search 必需。规定所搜索的字符串。如果该参数是数字,则搜索匹配数字 ASCII 值的字符。
提示和注释
注释:该函数是二进制安全的。
注释:该函数对大小写敏感。如需进行大小写不敏感的搜索,请使用 stristr()。
例子
例子 1
<?php
echo strchr("Hello world!","wo");
?>输出:
world!
例子 2
在本例中,我们将搜索 "o" 的 ASCII 值所代表的字符:
<?php
echo strchr("Hello world!",111);
?>输出:
o world!
================================
strrev
返回值: 字符串
函数种类: 资料处理
内容说明: 将字符串前后颠倒。
使用范例
下例的返回字符串为 "gneP nosliW"
<?
$str=strrev("Wilson Peng");
echo $str;
?>
strspn
返回值: 整数
函数种类: 资料处理
内容说明: 本函数将 str2 字符串当遮罩,可用来计算 str1 字符串中有几个字符落在 str2 遮罩中。
参考: strcspn()
strtok
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将字符串 arg1 依字符串 arg2 的值切开成小段小段的字符串。
使用范例: 本例将 I will be back 字符串依空白切开。
<?php
$string = "I will be back";
$tok = strtok($string," ");
while($tok) {
echo "单字=$tok<br>";
$tok = strtok(" ");
}
?>
参考: split() explode()
strtolower
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将字符串 str 全部变小写字符串。
参考: strtoupper() ucfirst()
strtouper
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将字符串 str 全部变大写字符串。
参考: strtolower() ucfirst()
str_replace
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将字符串 str 代入 haystack 字符串中,将所有的 needle 置换成 str。mlevine@adtraq.com (11-Apr-1999) 指出在 PHP 3.0.7 版,本函数有些 bug,而 nadeem@bleh.org (05-Jun-1999) 补充在 PHP 3.0.8 版本函数就回复正常了。
使用范例
下例将 %body% 以 black 取代
<?php
$bodytag = str_replace("%body%", "black", "<body text=%body%>");
echo $bodytag;
?>
======================
strtr
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将字符串 str 中和 from 有关的字符一一转成 to 的字符。
====================================
substr()
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将字符串 string 的第 start 位起的字符串取出 length 个字符。若 start 为负数,则从字符串尾端算起。若可省略的参数 length 存在,但为负数,则表示取到倒数第 length 个字符。
使用范例
<?
echo substr("abcdef", 1, 3); // 返回 "bcd"
echo substr("abcdef", -2); // 返回 "ef"
echo substr("abcdef", -3, 1); // 返回 "d"
echo substr("abcdef", 1, -1); // 返回 "bcde"
?>
参考: strrchr() ereg()
trim
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数返回字符串 string 首尾的空白字符去除后的字符串。
参考: chop() ltrim()
ucfirst
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数返回字符串 str 第一个字的字首字母改成大写。
参考: strtoupper() strtolower()
ucwords
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数返回字符串 str 每个字的字首字母全都改成大写。
====================
str_split
(PHP 5)
str_split — Convert a string to an array
Description
array str_split ( string $string [, int $split_length] )
Converts a string to an array. If the optional split_length parameter is specified, the returned array will be broken down into chunks with each being split_length in length, otherwise each chunk will be one character in length.
FALSE is returned if split_length is less than 1. If the split_length length exceeds the length of string, the entire string is returned as the first (and only) array element.
例 2263. Example uses of str_split()
<?php
$str = "Hello Friend";
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
?>
Output may look like:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => F
[7] => r
[8] => i
[9] => e
[10] => n
[11] => d
)
Array
(
[0] => Hel
[1] => lo
[2] => Fri
[3] => end
)
————————
split
(PHP 4, PHP 5)
split — 用正则表达式将字符串分割到数组中
说明
array split ( string $pattern, string $string [, int $limit] )
提示
preg_split() 函数使用了 Perl 兼容正则表达式语法,通常是比 split() 更快的替代方案。如果不需要正则表达式的威力,则使用 explode() 更快,这样就不会招致正则表达式引擎的浪费。
本函数返回一个字符串数组,每个单元为 string 经区分大小写的正则表达式 pattern 作为边界分割出的子串。如果设定了 limit,则返回的数组最多包含 limit 个单元,而其中最后一个单元包含了 string 中剩余的所有部分。如果出错,则 split() 返回 FALSE。
将 /etc/passwd 中的前四个字段分割出来:
例 1763. split() 例子
<?php
list($user, $pass, $uid, $gid, $extra) =
split (":", $passwd_line, 5);
?>
如果字符串中有 n 个与 pattern 匹配的项目,则返回的数组将包含 n+1 个单元。例如,如果没有找到 pattern,则会返回一个只有一个单元的数组。当然,如果 string 为空也是这样。
解析可能用斜线,点,或横线分割的日期:
例 1764. split() 例子
<?php
// 分隔符可以是斜线,点,或横线
$date = "04/30/1973";
list($month, $day, $year) = split (‘[/.-]‘, $date);
echo "Month: $month; Day: $day; Year: $year<br />\n";
?>
想仿效 Perl 中类似的 @chars = split(”, $str) 行为,请参考 preg_split() 或 str_split() 函数中的例子。
注意 pattern 是一个正则表达式。如果想要用的分割字符是正则表达式中的特殊字符,要先将其转义。如果觉得 split()(或其它任何 regex 函数)行为古怪的话,请阅读包含在 PHP 发行包中 regex/ 子目录下的 regex.7 文件。该文件是手册页面格式,可以用类似 man /usr/local/src/regex/regex.7 的命令来阅读。
参见 preg_split(),spliti(),str_split(),explode(),implode(),chunk_split() 和 wordwrap()。
Filed under Default - News and Truth | Comment (0)