我在 php 中有一个变量叫做
$nombre = "img.jpg";
(字符串可以是:“www.example.com/content/something.jpg”)
我想找到一种方法在字符串中间添加一些东西
$nombre = "img-150x150.jpg";
我找到的解决方案
$imagenTMP = explode(".", $imagen);
$imagen = $imagenTMP[0].'.'.$imagenTMP[1].'.'.$imagenTMP[2]."-150x150.".$imagenTMP[3];
我可以想到两种方法
拆分名称:
与
explode
,一分为$nombre
二的。(而且这个被删了,所以要放回去)更换:
$nombre
我认为最后一个例子更好,因为如果有任何“。”它不会给你带来问题。为了安全起见,我会采用文件扩展名。既然这样,如果jpg、png、gif,无论它是什么,你都可以平静下来。
因此,您可以确定您将更改将扩展名传递给您想要的文本的字符串
你有这个例子
你想总是在字符串中间添加一些东西吗?
如果是这样,您必须检查字符串的长度并将其分成两半,然后在中间连接您想要的任何内容,操作如下:
如果你只想在 之前添加一些东西
.
,你可以用 split 来做:希望这可以帮到你。
可以优化代码,也许对php比较了解的人可以改进一下,但是这个方案还是有效的。
开心点!
由于你要使用图片,而你的$file变量可以是url,所以这方面我建议你使用php提供的函数。
一个 url 可能有这样的东西(可能不是你的情况,但它可能是):
首先是走这个url的路径。为此,php 为您提供了parse_url(参见http://php.net/manual/es/function.parse-url.php):
这将返回“/content/content2/something.jpg”,删除 ? 之后的内容 并消除主机、协议等。
一旦你有了路径,你应该得到文件。为此,php 中已经有一个函数可以为您解决它,它是basename ( http://php.net/manual/es/function.basename.php ):
这直接返回文件的名称,在您的情况下为“something.jpg”
从这里开始,像他们在其他解决方案中评论的那样应用爆炸。
你有一个从 php 调用的方法
explode()
,你可以从任何你想要的地方拆分字符串,并将它们存储在一个数组中。它的使用示例如下:
首先想到的是,很快就是这样:
您可以使用“.”作为分隔符将字符串分成两部分(一方面是文件名,另一方面是文件扩展名)。
然后将每个“块”分配给一个变量。
将您想要的内容连接到您感兴趣的部分(在您的情况下,在 $file_name 的末尾)。
而你所要做的就是再次加入这些部分,不要忘记添加“。” 文件名和扩展名之间的分隔符。
希望对你有帮助^^