[TOC]

#str_replace()字符串替换

/**
* 该函数有3个必须参数,一个可选
* 参数1, 查找的值
* 参数2, 替换的值
* 参数3, 字符串
* 参数4, 为一个自定义变量,用来保存替换的次数
*/
mixed str_replace(mixed search, mixed replace, mixed subject [, int &count])

例子1

//声明包含多个“LAMP”字符串的文本,也包含小写的“lamp”字符串
$str="LAMP是目前最流行的WEB开发平台;<br>
LAMP为B/S架构软件开发的黄金组合;<br>
LAMP每个成员都是开源软件;<br>
lampBrother是LAMP的技术社区。<br>";

//区分大小写的将“LAMP”替换为“Linux+Apache+MySQL+PHP”,并统计替换次数
echo str_replace("LAMP", "Linux+Apache+MySQL+PHP",$str, $count);
echo "区分大小写时共替换".$count."次<br>";       //替换4次

//不区分大小写的将“LAMP”替换为“Linux+Apache+MySQL+PHP”,并统计替换次数
echo str_ireplace("LAMP", "Linux+Apache+MySQL+PHP", $str,$count);
echo "不区分大小写时共替换".$count."次<br>";     //替换5次

例子2, 对数组做查找替换

//元音字符数组
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");

//将第三个参数中的字符串,搜索到的数组中的元素值都被替换为空,区分大写小替换
//输出Hll Wrld f PHP
echo str_replace($vowels, "", "Hello World of PHP");

//元音字符数组
$vowels = array("a", "e", "i", "o", "u");

//将第三个参数中的字符串,搜索到的数组中的元素值都被替换为空,不区分大写小替换
// HLL WRLD F PHP
echo str_ireplace($vowels, "", "HELLO WORLD OF PHP");

例子3,双数组查找替换

//注意: 两个数组必须互相对应,如不能对应,多余的用空格代替

//搜索目标数组
$search=array("http","www", "jsp", "com");
//替换数组
$replace=array("ftp", "bbs", "php", "net");
//被替换的字符串
$url="http://www.jspborther.com/index.jsp";

//输出替换后的结果:ftp://bbs.phpborther.net/index.php
echo str_replace($search, $replace, $url);

#explode()字符串分割成数组

/**
* 参数1, 拆分符或字符串
* 参数2, 要被拆分的字符串
* 参数3 ,将字符串分割为多少个子串,过于麻烦,不推荐使用
*/
array explode(string separator, string string[, int limit])

例子

//声明一个字符串$lamp,每个单词之间使用空格分割
$lamp="Linux Apache MySQL PHP";

//将字符串$lamp使用空格分割,并组成数组返回
$array=explode(" ", $lamp);

//输出数组中第三个元素,即$lamp中的第三个子串MySQL
echo $array[2];

//输出数组中第三个元素,即$lamp中的第四个子串PHP
echo $array[3];

//将Linux中的用户文件的一行提出
$password = "redhat:*:500:508::/home/redhat:/bin/bash";

//按“:”分割7个子串
list($user, $pass, $uid, $gid, , $home, $shell) = explode(":", $password);
//第一个子串, 提出用户名保存在变量$user中,输出redhat
echo $user;

//第二个子串, 提出密码位字符保存在变量$pass中,输出*
echo $pass;

//第三个子串, 提出用户名ID保存在变量$uid中,输出500
echo $uid;

//第四个子串, 提出用户名组ID保存在变量$gid中,输出508
echo $gid;

//第六个子串, 提出家目录保存在变量$home中,输出/home/redhat
echo $home;

//第七个子串, 提出用户使用的shell保存在变量$shell中,输出/bin/bash
echo $shell;

//声明字符串$lamp,每个单词之间使用加号“+”分割
$lamp="Linux+Apache+MySQL+PHP";

//使用正数限制子串个数,而最后那个元素将包含 $lamp中 的剩余部分
//输出Array ( [0] => Linux [1] => Apache+MySQL+PHP )
print_r(explode('+', $lamp, 2));

//使用负数限制子串,则返回除了最后的限制个元素外的所有元素
//输出Array ( [0] => Linux [1] => Apache [2] => MySQL )
print_r(explode('+', $lamp, -1));

implode()数组合并成字符串

/**
* 参数1, 连接符
* 参数2, 被连接的数组
*/
string implode( string glue, array pieces)

例子

$lamp=array("Linux", "Apache", "MySQL", "PHP");

//使用加号连接后输出Linux+Apache+MySQL+PHP
echo implode("+", $lamp);

//join是别名,使用三个加号连接后输出Linux+++Apache+++MySQL+++PHP
echo join("+++", $lamp);