【问题标题】:trim (ltrim) cuts more [duplicate]修剪(ltrim)削减更多[重复]
【发布时间】:2017-05-01 01:15:29
【问题描述】:

我有很多产品名称和品牌。一些产品名称包含品牌。有些没有。 我想删除产品名称中的品牌。 substr($name,strlen($brand)); 导致无品牌名称出现问题。

然后我使用此代码。但又出问题了。

$brand = "Palm See";

$name = "Palm See Second Third ... "; 
$name = "See Season ... ";
$name = " See Sean Paul ";

$name = ltrim($name, $brand);

echo $name;     // cond Third ...   desired : Second Third ...
echo $name;     // son ...          desired : See Season ...
echo $name;     // n Paul           desired : See Sean Paul

【问题讨论】:

  • ltrim() 修剪列表中的任何 字母('P' 和 'a' 和 'l' 和 'm' 和'S' 和 'e' 以及您的示例中的空格);不是特定的字符串
  • str_replace($brand, "", $name ); 好吗?
  • 是的,str_replace($brand, "", $name ); 应该可以工作,但这会从字符串的任何部分删除它。如果您只想从头开始删除它,您应该检查字符串是否也以$brand 开头。所以你应该做类似if (strpos($name, $brand) === 0) { str_replace($brand, "", $name ); } 的事情。这里的if 检查字符串是否以$brand 开头

标签: php trim substr strlen


【解决方案1】:

再看看ltrim 的工作原理:

字符掩码

您还可以通过 character_mask 参数指定要去除的字符。只需列出您想要的所有字符 被剥夺。使用 .. 可以指定字符范围。

尝试使用 str_replace 将其删除,并仅使用 trim 删除任何多余的空格。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-17
    • 1970-01-01
    • 2018-01-23
    • 2012-04-29
    相关资源
    最近更新 更多