如何基于数据库php更改某些字符串
伙计们,我无法用以下代码更改如何基于数据库php更改某些字符串,php,arrays,Php,Arrays,伙计们,我无法用以下代码更改$menu\u image中字符串的某些部分: string(62) "/asset/images/menu/Singapore/365/225/509/509_RhWu2f4G_s130.jpg" 我想尝试使用一个新的数字字符串来更改225,并将其保存在$category\u id 例如,如果我在$category\u id中有226,则$menu\u image应如下所示: string(62) "/asset/images/menu/Singapore/365
$menu\u image
中字符串的某些部分:
string(62) "/asset/images/menu/Singapore/365/225/509/509_RhWu2f4G_s130.jpg"
我想尝试使用一个新的数字字符串来更改225
,并将其保存在$category\u id
例如,如果我在$category\u id
中有226
,则$menu\u image
应如下所示:
string(62) "/asset/images/menu/Singapore/365/226/509/509_RhWu2f4G_s130.jpg"
伙计们,有可能改变这一点吗
谢谢(:如果在名为
$category\u id
的变量中有值,则应将变量
连接到图像路径所用的字符串
。例如,“/asset/images/menu/Singapore/365/”$category\u id./509/509\RhWu2f4G\u s130.jpg”
希望这有帮助。如果您的数据始终处于相同的位置,则只需首先分解代码即可:
$split=array_map('trim', explode("/",$menu_image));
$split[6] = $category_id;
$menu_image_link = implode("/",$split);
您的$menu\u image\u链接将返回:
string(62) "/asset/images/menu/Singapore/365/".$category_id."/509/509_RhWu2f4G_s130.jpg"
您应该拆分字符串,替换所需的部分,然后将其重新连接,如下所示:
<?php
$string = '/asset/images/menu/Singapore/365/225/509/509_RhWu2f4G_s130.jpg';
$new_id = '226';
$string_array = explode('/', $string);
$string_array[6] = $new_id; // Replacing 6th element which is the number we're looking for
$string = implode('/', $string_array);
?>
是的,这是可能的,-你总是想用其他东西来替换它吗?-在任何情况下,试着用stru-replace('225','226',$string)来替换它
@Epodax另一个问题,如果字符串中有相同的数字,比如365是225,那么如果我使用str\u替换,那么225
将被更改为新的string@Kelvin确实会。您要替换的字符串是否始终位于同一位置(即在/asset/images/menu/Singapore/A_NUMBER/u NUMBER/u TO_CHANGE/…
之后,它是否始终是一个数字?是的,它将位于相同的位置,并且始终返回数字。@roberto06i不能这样做,正如我所说的“/asset/images/menu/Singapore/365/226/509/509_RhWu2f4G\u s130.jpg”
来自数据库dude!!好的,很抱歉我没有重新阅读标题,如果是这样,那么根据Epodax的建议,您将需要使用str\u replace
。我相信使用str\u replace('255',$category\u id,$string);
使用$string
作为包含图像路径的数组的一部分,这是您所追求的。检查上面的注释,前提是您要替换的255始终位于相同的位置,您可以使用substr\u replace($string,$category\u id,33,-1)
当(或任何数字)变为4位数。抱歉,上面的代码中有一个错误,-1应该是3,指定要替换的长度。