PHP字符串函数包括查找字符位置函数;提取子字符函数;替换字符串;字符长度;比较字符函数;分割成数组字符;去除空格等等。
PHP语言中的字符串函数也是一个比较易懂的知识。今天我们就为大家总结了将近12种PHP字符串函数,希望对又需要的朋友有所帮助,增加读者朋友的PHP知识库。
查找字符位置函数:
strpos($str,search,[int]) :查找search在$str中的第一次位置从int开始;
strripos($str,search,[int]): 同上,该函数对大小写不敏感
提取子字符串函数(双字节)
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
stristr 同上,不区分大小写
<?php
$email = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // 打印 @example.com
$user = strstr($email, '@', true); // 从 PHP 5.3.0 起
echo $user; // 打印 name
?>
<?php
$rest = substr("abcdef", -1); // 返回 "f"
$rest = substr("abcdef", -2); // 返回 "ef"
$rest = substr("abcdef", -3, 1); // 返回 "d"
?>
查找指定字符在字符串中的最后一次出现,如果 needle 包含了不止一个字符,那么仅使用第一个字符。该行为不同于 strstr()。
如果第三个参数是数字,则按照ascii表顺序执行。
替换字符串的PHP字符串函数
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
// 赋值: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");
// 赋值: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
$str='abcdefghigklmn';
echo strtr($str, 'aed', '@2'); 把a抓换成@,把e转换成2 ,是一 一对应的,
在字符串中,把xx 替换成xx
strtr 速度最快 > str_replace
<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";
/* 这两个例子使用 “bob” 替换整个 $var。*/
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";
/* 将 “bob” 插入到 $var 的开头处。*/
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";
/* 下面两个例子使用 “bob” 替换 $var 中的 “MNRPQR”。*/
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";
/* 从 $var 中删除 “MNRPQR”。*/
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
$str = "Hello Friend";
Array
(
[0] => Hel
[1] => lo
[2] => Fri
[3] => end
)
$test = end(explode('.', 'abc.txt'));
echo $test;//output txt
换成:
$test1 = end(split('.','abc.txt'));
echo $test1;//no output
用split的正确做法是:加转义符号
$test1 = end(split('\.','abc.txt'));
echo $test1;//output
字符串填充
string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )
<?php
$input = "Alien";
echo str_pad($input, 10); // 输出 "Alien "
echo str_pad($input, 10, "-=", STR_PAD_LEFT); // 输出 "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH); // 输出 "__Alien___"
echo str_pad($input, 6 , "___"); // 输出 "Alien_"
?>
echo str_repeat("-=", 10);
-=-=-=-=-=-=-=-=-=-=
$str = 'abcdef';
$shuffled = str_shuffle($str);
// 输出类似于: bfdaec
echo $shuffled;
echo strrev("Hello world!"); // 输出 "!dlrow olleH"
$text = 'This is a test' ;
echo strlen($text); // 14
echo substr_count($text, 'is'); // 2
// 字符串被简化为 's is a test',因此输出 1
echo substr_count($text, 'is', 3);
// 字符串被简化为 's i',所以输出 0
echo substr_count($text, 'is', 3, 3);
// 因为 5+10 > 14,所以生成警告
echo substr_count($text, 'is', 5, 10);
// 输出 1,因为该函数不计算重叠字符串
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd');
字符长度
int strlen($str)
比较字符函数
int strcmp($str1,$str2):$str1>=<$str2分别为正1,0,-1(字符串比较)
strcasecmp() 同上(不分大小写)
strnatcmp("4","14") 按自然排序比较字符串
strnatcasecmp() 同上,(区分大小写)
去除空格:
ltrim()、rtrim()、trim()
str = 'aaaa@' trim($str, '@')
加空格函数
chunk_split($str,2):向$str字符里面按2个字符就加入一个空格;
9、chr、ord--返回指定的字符或ascii
10、HTML代码有关函数
nl2br():使\n转换为<br>。
strip_tags($str[,'<p>']):去除HTML和PHP标记
在$str中所有HTML和PHP代码将被去除,可选参数为html和PHP代码作用是将保留可选参数所写的代码。
如:echo strip_tags($text, '<br><p>');
htmlspecialchars($str[,参数]):页面正常输出HTML代码参数,是转换方式
11、字符大小写转换的PHP字符串函数
strtolower($str): 字符串转换为小写
strtoupper($str): 字符串转换为大写
ucfirst($str): 将函数的第一个字符转换为大写
ucwords($str): 将每个单词的首字母转换为大写
12、数据库相关的PHP字符串函数
addslashes($str):使str内单引号(')、双引号(")、反斜线(\)与 NUL
字符串转换为\',\",\\。
magic_quotes_gpc = On :自动对 get,post,cookie的内容进行转义
get_magic_quotes_gpc():检测是否打开magic_quotes_gpc
stripslashes(): 去除字符串中的反斜杠
$str = ‘aaaaaa';
if(strlen($str) > 6)
VS
if(!isset($str{6})