php--字符串常用函数

1.查找

1.1strstr  查找字符串的首次出现

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
注:$haystack是当事字符串,$needle是被查找的字符串,该函数区分大小写;返回值是从needle开始到最后;关于$needle,如果不是字符串,被当作整形来作为字符的序号来使用:before_needle若为true,则返回前面的东西
复制代码 代码如下:
<?php
$email = 'yuxiaoxiao@example.com';
$domain = strstr($email, '@');
echo $domain; // 打印 @example.com
$user = strstr($email, '@', true); // 从 PHP 5.3.0 起
echo $user; // 打印 yuxiaoxiao
?>

1.2stristr是strstr不区分大小写的版本

1.3strpos 查找字符串首次出现的位置(stripos()区分大小写)

int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
注:可选的 offset 参数可以用来指定从 haystack 中的哪一个字符开始查找,返回的数字位置是相对于 haystack 的起始位置而言的。

1.4substr 返回字符串的子串

string substr ( string $string , int $start [, int $length ] )
$rest = substr("abcdef", -1); // 返回 "f"

注:如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。

  如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始。

  如果 string 的长度小于或等于 start,将返回 FALSE。

  如果提供了正数的 length,返回的字符串将从 start 处开始最多包括 length 个字符(取决于 string 的长度)。

  如果提供了负数的 length,那么 string 末尾处的许多字符将会被漏掉(若 start 是负数则从字符串尾部算起)。如果 start 不在这段文本中,那么将返回一个空字符串。

  如果没有提供 length,返回的子字符串将从 start 位置开始直到字符串结尾。 

复制代码 代码如下:

<?php
$rest = substr("abcdef", 0, -1); // 返回 "abcde"
$rest = substr("abcdef", 2, -1); // 返回 "cde"
$rest = substr("abcdef", 4, -4); // 返回 ""
$rest = substr("abcdef", -3, -1); // 返回 "de"
?>

1.5strrchr -查找指定字符在字符串中的最后一次出现

string strrchr ( string $haystack , mixed $needle )

该函数返回 haystack 字符串中的一部分,这部分以 needle 的最后出现位置开始,直到 haystack 末尾。

1.6strrpos() 函数查找字符串在另一个字符串中最后一次出现的位置

如果成功,则返回位置,否则返回 false。
strrpos(string,find,start)
参数 描述
string 必需。规定被搜索的字符串。
find 必需。规定要查找的字符。
start 可选。规定开始搜索的位置。
该函数对大小写敏感。如需进行大小写不敏感的查找,请使用 strripos()。

2.字符串替换

2.1strtr(string,from,to)、strtr(string,array)

2.2string str_replace(string needle, string str, string haystack);

本函数将字符串 str 代入 haystack 字符串中,将所有的 needle 置换成 str。

 

格式:
[@str_replace("要替换的旧内容", "要取代原内容的新字符", $被替换内容的变量名)]
[@str_replace(array('旧1','旧2','旧3'), array('新1','新2','新3'), $被替换内容的变量名)]
[@str_replace(array('旧1','旧2','旧3'), '新内容', $被替换内容的变量名)]
实例:
多对一替换:想把内容字段里所有的<p></p>标签清除掉,替换成空 [@str_replace(array('<p>','</p>'), '', $Content)]
一对一替换:想把内容字段里所有的<br>标签换成<p> [@str_replace('<br>', '<p>', $Content)]
多对多替换:想把内容字段里的<br>换成<br />, 同时<p>换<hr>,把</p>全清除 [@str_replace(array('<br>', '<p>','</p>'), array('<br />','<hr>',''), $Content)]

 

 

 

posted @ 2013-06-14 10:14  路过你的苦  阅读(209)  评论(0编辑  收藏  举报