【问题标题】:How to remove all data after last dot using php?如何使用php删除最后一个点后的所有数据?
【发布时间】:2016-02-08 09:20:10
【问题描述】:

如何使用 php 删除最后一个点之后的所有数据?

我测试我的代码。只是回声aaa

我要显示aaa.bbb.ccc

我该怎么做?

<?PHP
$test = "aaa.bbb.ccc.gif";
$test = substr($test, 0, strpos($test, "."));
echo $test;
?>

【问题讨论】:

  • 你需要strrpos 而不是strpos

标签: php substr strpos


【解决方案1】:

您可以利用pathinfo()的功能获取点之前的所有内容

$str = "aaa.bbb.ccc.gif";
echo pathinfo($str, PATHINFO_FILENAME); // aaa.bbb.ccc

【讨论】:

  • pathinfo 最适合文件。
  • @Andrew,有趣的解决方案!)
  • @Sougata 是的,我提出这个解决方案的原因是我看到字符串以 .gif 结尾,对我来说,每个字符串接受的函数都只是一种操作字符串的方法:D
  • 如果字符串是一个 url,它将删除除文件名之外的所有内容
  • 这对于带有 等字符的文件的格式不太正确
【解决方案2】:

你也可以试试这个——

$test = "aaa.bbb.ccc.gif";

$temp = explode('.', $test);

unset($temp[count($temp) - 1]);

echo implode('.', $temp);

O/P

aaa.bbb.ccc

strpos — 查找字符串中子字符串第一次出现的位置

你需要使用strrpos

strrpos — 查找字符串中子字符串最后一次出现的位置

$test = "aaa.bbb.ccc.gif";
$test = substr($test, 0, strrpos($test, "."));
echo $test;

O/P

aaa.bbb.ccc

【讨论】:

    猜你喜欢
    • 2023-01-30
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    相关资源
    最近更新 更多