gpt4 book ai didi

php - 在 PHP 中检查字符串数组中的子字符串

转载 作者:太空宇宙 更新时间:2023-11-04 15:06:41 25 4
gpt4 key购买 nike

我是 PHP 的新手(我在 C# 等其他编程语言方面有很多经验)。所以根据 OOP 的经验,我几乎可以肯定这也可以在 PHP 中完成。这是问题。我正在编写要导出一些 html 代码的脚本。这是例子。我在服务器上有包含水果图像的文件夹。例如,文件夹包含下一张图片:strawberry.jpg、apple 1.jpg、apple 2.jpg、peach.jpg、bannana 1.jpg、bannana 2.jpg、pear.jpg。我已经编写了完美运行的代码,但我想更高级

<?php
$files = glob('./images/fruits/*.*');
foreach($files as $file) {
$filename = pathinfo($file);
$filepath1 = pathinfo($file, PATHINFO_BASENAME);
$filepath2 = "images/logotipi/fruits/".$filepath1;
echo '{slider <strong>'.$filename['filename'].'</strong>|blue}';
echo '<br>';
echo '{tip';
echo "<img src=\"".$filepath2."\">";
echo '}';
echo "<img src=\"".$filepath2."\" ";
echo 'width="100" height="100" />{/tip}';
echo '<br>';
}
?>

这就是我想要的。如您所见,我的输出将是

{slider **strawberry**|blue}
{tip <img src="images/fruits/strawberry.jpg" />}<img src="images/fruits/strawberry.jpg" width="100" height="100" />{/tip}
{slider **apple 1**|blue}
{tip <img src="images/fruits/apple 1.jpg" />}<img src="images/fruits/apple 1.jpg" width="100" height="100" />{/tip}
{slider **apple 2**|blue}
{tip <img src="images/fruits/apple 2.jpg" />}<img src="images/fruits/apple 2.jpg" width="100" height="100" />{/tip}

...

每张图片等等。接下来我想要我的每个 slider 的输出,例如苹果在该幻灯片中。我希望我的输出是这样的:

 {slider **strawberry**|blue}
{tip <img src="images/fruits/strawberry.jpg" />}<img src="images/fruits/strawberry.jpg" width="100" height="100" />{/tip}
{slider **apple**|blue}
{tip <img src="images/fruits/apple 1.jpg" />}<img src="images/fruits/apple 1.jpg" width="100" height="100" />{/tip}
{tip <img src="images/fruits/apple 2.jpg" />}<img src="images/fruits/apple 2.jpg" width="100" height="100" />{/tip}

...因此,如您所见,我想检查文件名字符串数组中的字符串名称。如果我有更多类别,如苹果或香蕉,名称总是以数字 1、2、3 等结尾。如何在 php 中完成?

最佳答案

您可以尝试使用 preg_match() 文件名来获取类别。您可以修改正则表达式以适合您想要的模式。

$lastCategory = null;

foreach($files as $file) {

// adjust this regular expression pattern to fit your needs
preg_match("/(\w+)\s\d.\w+/", $file, $matches);
$filename = $matches[0];
$category = $matches[1];

// do we have a new category?
if ($category !== $lastCategory) {
echo '{slider <strong>' . $category . '</strong>|blue} <br>';
$lastCategory = $category;
}

echo '{tip <img src="' . $file . '"> }';
echo '<img src="' . $file . '" width="100" height="100" />';
echo '{/tip} <br>';

}

而且我怀疑您是否可以调整正则表达式 :D所以 "苹果绿 1.jpg"-> (\w+|\w+\s\w+)\s\d.\w+

关于php - 在 PHP 中检查字符串数组中的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26163398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com