带有字符列表的 PHP ltrim 行为

标签 php trim

我试图使用 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/

相关文章:

PHP - 将数据库日期时间与当前日期时间进行比较

sql - 从字符串中修剪整数

从整个句子中删除多余的空格

php - Joomla:将变量传递给 getInput()

php - 管理长时间运行的 php 脚本的最佳方法?

string - swift 在 String 上有 trim 方法吗?

php - 如何使用 PHP 修剪文本

android - FFmpeg 忽略开始时间修剪音频文件 android

PHP for-loop with MySQL 行取决于 MySQL 查询结果

php - WooCommerce 中是否有产品描述的简码