一尘不染

PHP ltrim行为与字符列表

php

我试图使用php
ltrim函数实现从字符串中删除一些开头部分。它正常工作直到冒号后出现ai字符。如果在冒号之后找到i,则只需忽略i字符。我知道可以用substr或任何其他方式来完成它,但是我想知道为什么它会随着修剪发生。例如。

ltrim('mailto:bob@example.com','mailto:');

上面的函数将返回bob@example.com

但是如果我把我放在冒号后面..例如

ltrim('mailto:info@example.com','mailto:');

这将返回nfo@example.com

有人可以解释发生了什么吗?


阅读 227

收藏
2020-05-29

共1个答案

一尘不染

ltrim的第二个参数是要从字符串左侧删除的字符列表。

如果你做了

<?php
    ltrim('lllliiiiaaaaaatttttt', 'mailto:');
?>

您将获得一个空字符串作为返回值。

尝试以下方法:

<?php
    $email = 'mailto:bob@example.com';
    $fixedEmail = substr($email, 0, 7) == 'mailto:' ? substr($email, 7) : $email;
?>
2020-05-29