【问题标题】:PHP string operation - strip .jpg extension [duplicate]PHP字符串操作-剥离.jpg扩展名[重复]
【发布时间】:2015-02-07 22:43:43
【问题描述】:

我有以下 php:

               <?php 
            $image_directory = JPATH_SITE . '/images/site/';
            $images = JFolder::files($image_directory);
            foreach($images as $image) {
              echo '<li><img src="/images/site/'.$image.'">
                    <p class="slidecaption">'.$image.'</p></li>'; 

            }
          ?>

所以 $images 最终是 1980.jpg(例如)。如何对此字符串执行操作并剥离“.jpg”并输出幻灯片字幕段落?

非常感谢您的宝贵时间。

【问题讨论】:

标签: php joomla


【解决方案1】:

如果您每次都有相同的扩展名,那么您可以使用str_replace

str_replace('.jpg','',$image);

如果您还有其他一些扩展,您可以使用类似这样的正则表达式:

$imageName = preg_replace('/\\.[^.\\s]{3,4}$/', '', $image);

【讨论】:

  • 如果文件名不止一次出现怎么办?抢到最后一个。从长远来看,在字符串和之后的所有内容中可能会更好
  • 当您的字符串中有两次 .jpg 时,它将同时删除它们,并且只有在出现问题并且您必须对文件扩展名计时时才会发生这种情况。但是你的名字是正确的。
  • 那真的错了...基本名称不要删除文件扩展名;)echo basename("test.jpg"); 并且当您将后缀定义为.jpg 时,它与str_replace 相同。 php.net/manual/en/function.basename.php
猜你喜欢
  • 1970-01-01
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
  • 2011-06-18
  • 1970-01-01
  • 2019-01-17
  • 1970-01-01
  • 2018-06-13
相关资源
最近更新 更多