PHP 字符串

创建时间:2019.02.13 修改时间:2019.03.24

返回字符串的第一个字符:

<?php
echo substr( "Hello world", 0, 1 );
?>

0 表示截取指针移到第一个字符前,1 表示截取字符串长度(省缺截取到字符串结尾)。

返回字符串最后一个字符:

<?php
echo substr( "Hello world", -1 );
?>

1 表示截取指针移到字符串倒数第一个字符前。

返回字符串除去第一个字符和最后一个字符的其余部分:

<?php
echo substr( "Hello world", 1,-1 );
?>

把字符串打散为数组:

<?php
$str = 'one,two,three,four';
print_r( explode( ",", $str ) );

// 0 会被当做 1,返回包含一个元素的数组 
print_r( explode( ',', $str, 0 ) );

//  数组元素为  2
print_r( explode( ',', $str, 2 ) );

//  删除最后一个数组元素 
print_r( explode( ',', $str, -1 ) );
?>

把数组元素组合成字符串:

<?php
$arr = array( 'Hello', 'World!', 'Beautiful', 'Day!' );
echo implode( " ", $arr );
?>

注: 以上指定分隔字符为空格,默认是 ""(空字符串)。

把 <>" 等符号以转义的形式输出,防止被浏览器解析为 HTML 代码:

<?php
echo htmlentities( "<br>" );
?>

输出为:&lt;br&gt;

浏览器显示:<br>(不会被解析为换行符)

替换字符串中的指定字符:

<?php
echo strtr( "Hilla Warld", "ia", "eo" );
?>

返回:Hello World

注:"ia" 和 "eo" 中的字符替换关系为一一对应。对应关系也可以用数组的键名和键值表示。

<?php
$arr = array( "Hello" => "Hi", "world" => "earth" );
echo strtr( "Hello world", $arr );
?>

在字符串中的每个新行(\n)之前插入 HTML 换行符(<br />):

<?php
echo nl2br( "One line.\nAnother line." );
?>

返回:

One line.<br />
Another line.

在指定的字符前增加反斜杠:

<?php
echo addcslashes( "Hello World!", "W" );
?>

返回:

Hello \World!

在预定义的字符前添加反斜杠:

<?php
echo addslashes( 'What does "yolo" mean?' );
?>

返回:

What does \"yolo\" mean?

预定义字符是:

注: 默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

移除字符串右侧字符:

<?php
$str = "Hello World!";
echo chop( $str, "World!" );
?>

返回:Hello

注: 如果 "World!" 参数为空,则移除字符串右侧下列预定义字符: