$str=ltrim("852546","852"); echo $str;
我设想是 去除前面的 852 但结果是去除了 8525
$str=ltrim("852546","852"); echo $str;
我设想是 去除前面的 852 但结果是去除了 8525
|
SankoMay 5, 2019 via Android
1
|
|
maichaelMay 5, 2019
2
第二个参数是一个“字符集”,不是一个“字符串”。
|
|
TelegramMay 5, 2019
3
同好奇
|
|
leadfastMay 5, 2019
4
同好奇+1
|
|
donethingMay 5, 2019 via Android
5
不懂
|
|
haiyang416May 5, 2019
6
去掉固定字符串可以用 str_replace。
|
|
haiyang416May 5, 2019
7
trim 函数的第二个参数可以理解为正则里面的 [852]。
|
|
nazorMay 5, 2019
8
去掉前面的所有的 8,5,2 所以会去掉两个 5
|
|
leadfastMay 5, 2019
9
|
|
NjcyNzMzNDQ3May 5, 2019
10
有趣的问题,代替方案例如 substr/preg_repalce/str_replace 皆可。
原因是如二楼所说,ltrim 的第二个参数去掉的二楼说的字符集(即 ASCII )码。 例子来自 php 文档: // trim the ASCII control characters at the beginning of $binary // (from 0 to 31 inclusive) $clean = ltrim($binary, "\x00..\x1F"); str_replace 的第二个参数类型是:@param mixed $replace ltrim 的第二个参数类型是:@param string $character_mask |
|
tongzMay 5, 2019
11
>>> trim('852546245258', '852');
=> "4624" |
|
12
理解了 我以为是字符串
现在用 str_replace 代替了 |
|
juneszhMay 5, 2019
13
看看 document 就能找到答案。。。
|
|
NjcyNzMzNDQ3May 5, 2019
14
@wufeng 用 preg_replace 吧,你用的 ltrim 说明你要替换开头的字符,str_replace 所有位置都会被替换的。
|
|
supuwoercMay 5, 2019
15
试试 str_replace
|