
$str=ltrim("852546","852"); echo $str;
我设想是 去除前面的 852 但结果是去除了 8525
1 Sanko 2019-05-05 11:37:43 +08:00 via Android |
2 maichael 2019-05-05 11:51:40 +08:00 第二个参数是一个“字符集”,不是一个“字符串”。 |
3 Telegram 2019-05-05 12:15:35 +08:00 同好奇 |
4 leadfast 2019-05-05 12:16:18 +08:00 同好奇+1 |
5 donething 2019-05-05 12:16:53 +08:00 via Android 不懂 |
6 haiyang416 2019-05-05 12:16:58 +08:00 去掉固定字符串可以用 str_replace。 |
7 haiyang416 2019-05-05 12:18:03 +08:00 trim 函数的第二个参数可理解为正则里面的 [852]。 |
8 nazor 2019-05-05 12:18:46 +08:00 去掉前面的所有的 8,5,2 所以会去掉两个 5 |
9 leadfast 2019-05-05 12:22:03 +08:00 |
10 NjcyNzMzNDQ3 2019-05-05 14:08:28 +08:00 有趣的问题,代替方案例如 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 |
11 tongz 2019-05-05 14:16:44 +08:00 >>> trim('852546245258', '852'); => "4624" |
12 wufeng OP 理解了 我以为是字符串 现在用 str_replace 代替了 |
13 juneszh 2019-05-05 15:08:54 +08:00 看看 document 就能找到答案。。。 |
14 NjcyNzMzNDQ3 2019-05-05 15:12:03 +08:00 @wufeng 用 preg_replace 吧,你用的 ltrim 说明你要替换开头的字符,str_replace 所有位置都会被替换的。 |
15 supuwoerc 2019-05-05 15:18:58 +08:00 试试 str_replace |