我试图使用 php ltrim 函数从字符串中剥离一些开始部分。它工作正常,直到它在冒号 : 之后得到一个 i 字符。如果它在冒号后找到 i,它会忽略 i 字符。我知道它可以用 substr 或任何其他方式完成,但我想知道为什么它会发生在 trim 上。例如。
ltrim('mailto:bob@example.com','mailto:');
上述函数将返回 bob@example.com
但是如果我把 i 放在冒号之后......例如
ltrim('mailto:info@example.com','mailto:');
这个会返回 nfo@example.com
谁能解释一下发生了什么?
最佳答案
ltrim 的第二个参数是要从字符串左侧删除的字符列表。
如果你这样做了
<?php
ltrim('lllliiiiaaaaaatttttt', 'mailto:');
?>
你会得到一个空字符串作为返回值。
试试这个:
<?php
$email = 'mailto:bob@example.com';
$fixedEmail = substr($email, 0, 7) == 'mailto:' ? substr($email, 7) : $email;
?>
关于带有字符列表的 PHP ltrim 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9050917/