您的位置:首页 > 编程语言 > PHP开发

常用的php字符串函数的解析及例子说明

2011-04-07 22:54 369 查看
php字符串解释和例子
1. parse_str() 函数
作用:把查询字符串解析到变量中
语法:parse_str(string,array) //string: 必需。规定要解析的字符串。Array: 可选。规定存储变量的数组名称。该参数指示变量存储到数组中。
注释:如果未设置 array 参数,由该函数设置的变量将覆盖已由同名变量。
注释:php.ini 中的 magic_quotes_gpc 设置影响该函数的输出。如果已启用,那么在 parse_str() 解析之前,变量会被 addslashes() 转换
例子1:

<?php
parse_str("id=23&name=John%20Adams");

echo $id."<br />";

echo $name;

?>

输出:23
John Adams
例子2:

复制代码

<?php

parse_str("id=23&name=John%20Adams",$myArray);

print_r($myArray);

?>

输出:
Array ( [id] => 23,[name] => John Adams)

2. str_replace() 函数
作用:使用一个字符串替换字符串中的另一些字符。
语法:str_replace(find,replace,string,count)
参数 描述
find 必需。规定要查找的值。
replace 必需。规定替换 find 中的值的值。
string 必需。规定被搜索的字符串。
count 可选。一个变量,对替换数进行计数。
注释:该函数对大小写敏感。请使用 str_ireplace() 执行对大小写不敏感的搜索。
注释:该函数是二进制安全的。
例子 1

复制代码

<?php

echo str_replace("world","John","Hello world!");

?>

输出:
Hello John!
例子 2
在本例中,我们将演示带有数组和 count 变量的 str_replace() 函数:

复制代码

<?php

$arr = array("blue","red","green","yellow");

print_r(str_replace("red","pink",$arr,$i));

echo "Replacements: $i";

?>

输出:
Array([0] => blue [1] => pink [2] => green [3] => yellow)
Replacements: 1
例子 3

复制代码

<?php

$find = array("Hello","world");

$replace = array("B");

$arr = array("Hello","world","!");

print_r(str_replace($find,$replace,$arr));

?>

输出:
Array([0] => B [1] => [2] => !)
3. addslashes() 函数
作用:在指定的预定义字符前添加反斜杠。这些预定义字符是:单引号 (')、 双引号 (")、 反斜杠 、(/)、 NULL
语法:addslashes(string)
提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。
注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。
例子:

复制代码

<?php

$str = "Who's John Adams?";

echo $str . " This is not safe in a database query.<br />";

echo addslashes($str) . " This is safe in a database query.";

?>

输出:
Who's John Adams? This is not safe in a database query.
Who/'s John Adams? This is safe in a database query.
4. addcslashes() 函数
作用:addcslashes() 函数在指定的字符前添加反斜杠
语法:addcslashes(string,characters)参数 描述
string 必需。规定要检查的字符串。
characters 可选。规定受 addcslashes() 影响的字符或字符范围。
提示和注释
注释:在对 0,r,n 和 t 应用 addcslashes() 时要小心。在 PHP 中,/0,/r,/n 和 /t 是预定义的转义序列。
例子 1
在本例中,我们要向字符串中的特定字符添加反斜杠:

复制代码

<?php

$str = "Hello, my name is John Adams.";

echo $str;

echo addcslashes($str,'m');

echo addcslashes($str,'J');

?>

输出:
Hello, my name is John Adams.
Hello, /my na/me is John Ada/ms.
Hello, my name is /John Adams.
例子 2
在本例中,我们要向字符串中的一个范围内的字符添加反斜杠:
<?php
$str = "Hello, my name is John Adams.";
echo $str;
echo addcslashes($str,'A..Z');
echo addcslashes($str,'a..z');
echo addcslashes($str,'a..h');
?>
输出:
Hello, my name is John Adams.
/Hello, my name is /John /Adams.
H/e/l/l/o, /m/y /n/a/m/e /i/s /J/o/h/n /A/d/a/m/s.
H/ello, my n/am/e is Jo/hn A/d/ams.
5. htmlspecialchars() 函数
作用:htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。
预定义的字符是:
& (和号) 成为 &
" (双引号) 成为 "
' (单引号) 成为 '
< (小于) 成为 <
> (大于) 成为 >
语法:htmlspecialchars(string,quotestyle,character-set)参数 描述
string 必需。规定要转换的字符串。
quotestyle 可选。规定如何编码单引号和双引号。
ENT_COMPAT - 默认。仅编码双引号。
ENT_QUOTES - 编码双引号和单引号。
ENT_NOQUOTES - 不编码任何引号。
character-set 可选。字符串值,规定要使用的字符集。
ISO-8859-1 - 默认。西欧。
ISO-8859-15 - 西欧(增加 Euro 符号以及法语、芬兰语字母)。
UTF-8 - ASCII 兼容多字节 8 比特 Unicode
cp866 - DOS 专用 Cyrillic 字符集
cp1251 - Windows 专用 Cyrillic 字符集
cp1252 - Windows 专用西欧字符集
KOI8-R - 俄语
GB2312 - 简体中文,国家标准字符集
BIG5 - 繁体中文
BIG5-HKSCS - Big5 香港扩展
Shift_JIS - 日语
EUC-JP - 日语
例子

复制代码

<html>

<body>

<?php

$str = "John & 'Adams'";

echo htmlspecialchars($str, ENT_COMPAT);

echo "<br />";

echo htmlspecialchars($str, ENT_QUOTES);

echo "<br />";

echo htmlspecialchars($str, ENT_NOQUOTES);

?>

</body>

</html>

浏览器输出:
John & 'Adams'
John & 'Adams'
John & 'Adams'
如果在浏览器中查看源代码,会看到这些 HTML:

<html>
<body>
John & 'Adams'<br />
John & 'Adams'<br />
John & 'Adams'
</body>
</html>
6. bin2hex () 函数
作用:bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。
语法:bin2hex(string)参数 描述
string 必需。规定要转换的字符串。
例子
在本例中,我们将把一个字符串值从二进制转换为十六进制,再转换回去:

复制代码

<?php

$str = "Hello world!";

echo bin2hex($str);

echo pack("H*",bin2hex($str));

?>

输出:
48656c6c6f20776f726c6421
Hello world!
7. chop () 函数
作用:chop() 函数从字符串的末端开始删除空白字符或其他预定义字符。该函数的 rtrim() 函数的别名。
语法:chop(string,charlist)参数 描述
string 必需。规定要转换的字符串。
charlist 可选。规定从字符串中删除哪些字符。
如果未设置该参数,则全部删除以下字符:
"/0" - ASCII 0, NULL
"/t" - ASCII 9, 制表符
"/n" - ASCII 10, 新行
"/x0B" - ASCII 11, 垂直制表符
"/r" - ASCII 13, 回车
" " - ASCII 32, 空格
例子
在本例中,我们将使用 chop() 函数从字符串右端删除字符:

复制代码

<?php

$str = "Hello World!/n/n";

echo $str;

echo chop($str);

?>

以上代码输出的源代码:
<html>
<body>
Hello World!

Hello World!</body>

</html>
输出:
Hello World! Hello World!
8. chr () 函数
作用:chr() 函数从指定的 ASCII 值返回字符。
语法:chr(ascii)参数 描述
ascii 必需。ASCII 值。提示和注释:
注释:ascii 参数可以是十进制、八进制或十六进制。通过前置 0 来规定八进制,通过前置 0x 来规定十六进制。
例子

复制代码

<?php

echo chr(52);

echo chr(052);

echo chr(0x52);

?>

输出:
4
*
R
9. chunk_split () 函数
作用:chunk_split() 函数把字符串分割为一连串更小的部分。
语法:chunk_split(string,length,end)参数 描述
string 必需。规定要分割的字符串。
length 可选。一个数字,定义字符串块的长度。
end 可选。字符串值,定义在每个字符串块之后放置的内容。
提示和注释:本函数不改变原始字符串。
例子 1
本例分隔每个字符,并添加 ".":
<?php
$str = "Hello world!";
echo chunk_split($str,1,".");
?>
输出:
H.e.l.l.o. .w.o.r.l.d.!.
例子 2
本例将在六个字符之后分割一次字符串,并添加 "...":
<?php
$str = "Hello world!";
echo chunk_split($str,6,"...");
?>
输出:
Hello ...world!...

10. explode () 函数
作用:explode() 函数把字符串分割为数组。
语法:explode(separator,string,limit)参数 描述
separator 必需。规定在哪里分割字符串。
string 必需。要分割的字符串。
limit 可选。规定所返回的数组元素的最大数目。
注释:
如果设置了 limit 参数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。
如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。此特性是 PHP 5.1.0 中新增的。
例子:

复制代码

<?php

$str = 'aa bb cc dd';

$arr = explode(' ',$str,-2);

$arr2 = explode(' ',$str,3);

var_dump($arr);

var_dump($arr2);

echo $str;

?>

输出:
array(2) {
[0]=>"aa"
[1]=>"bb"
}
array(3) {
[0]=>"aa"
[1]=>"bb"
[2]=>"cc dd"
}
aa bb cc dd
11. implode () 函数
作用:implode() 函数把数组元素组合为一个字符串。
语法:implode(separator,array)参数 描述
separator 可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。
array 必需。要结合为字符串的数组。
12. wordwrap () 函数
作用:按照指定长度对字符串进行折行处理。如果成功,则返回折行后的字符串。如果失败,则返回 false。
语法:wordwrap(string,width,break,cut)参数 描述
string 必需。规定要进行折行的字符串。
width 可选。规定最大行宽度。默认是 75。
break 可选。规定作为分隔符使用的字符(字串断开字符)。默认是 "/n"。
cut 可选。规定是否对大约指定宽度的单词进行折行。默认是 FALSE (no-wrap)。
例子 1
<?php
$str = "An example on a long word is: Supercalifragulistic";
echo wordwrap($str,15);
?>
浏览器输出:
An example on a long word is: Supercalifragulistic
HTML 源代码:
<html>
<body>
An example on a
long word is:
Supercalifragulistic
</body>
</html>
例子 2
<?php
$str = "An example on a long word is: Supercalifragulistic";
echo wordwrap($str,15,"<br />/n");
?>
输出:
An example on a
long word is:
Supercalifragulistic
例子 3
<?php
$str = "An example on a long word is: Supercalifragulistic";
echo wordwrap($str,15,"<br />/n",TRUE);
?>
输出:
An example on a
long word is:
Supercalifragul
istic
13. strip_tags () 函数
作用:strip_tags() 函数剥去 HTML、XML 以及 PHP 的标签。
语法:strip_tags(string,allow)参数 描述
string 必需。规定要检查的字符串。
allow 可选。规定允许的标签。这些标签不会被删除。
注释:该函数始终会剥离 HTML 注释。这点无法通过 allow 参数改变。
例子 1
<?php
echo strip_tags("Hello <b>world!</b>");
?>
输出:
Hello world!
例子 2
<?php
echo strip_tags("Hello <b><i>world!</i></b>","<b>");
?>
输出:
Hello world!
14. implode () 函数
作用:implode() 函数把数组元素组合为一个字符串。
语法:implode(separator,array)参数 描述
separator 可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。
array 必需。要结合为字符串的数组。
15. implode () 函数
作用:implode() 函数把数组元素组合为一个字符串。
语法:implode(separator,array)参数 描述
separator 可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。
array 必需。要结合为字符串的数组。

文章如转载,请注明:转载自:PHP开源[http://www.phpoac.com/]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: