我有一个变量可以发送数据,如: -
netsh wlan delete profile name="gp"
,thumb_8_2393_Shades 1.jpg
& hanger-cloth.jpg
;
现在,当该值具有' thumb _'在左侧,我想丢弃拇指_'字符串来自完整值。
所以我写了这段代码: -
Red-Lehenga-1.jpg
我遇到的问题是,它还会从$pImgBig = trim($pI['image'],'thumb');
中移除'h'
。
我如何克服这个问题?
答案 0 :(得分:1)
您可以使用下面的preg_replace()
: -
$pImgBig = preg_replace('/^thumb_/','',$pI['image']);
<?php
$data = 'hanger-cloth.jpg';
$data = preg_replace('/^thumb_/','',$data);
echo $data;
$data1 = 'thumb_8_2393_Shades 1.jpg';
$data1 = preg_replace('/^thumb_/','',$data1);
echo $data1;
输出: - https://eval.in/606785
@RaimRaider以正确的方式非常好地使用str_replace()
,如下所示: -
<?php
$data = 'hanger-cloth.jpg';
$data = substr($data,0,6)==='thumb_' ? str_replace( 'thumb_', '', $data ) : $data;
echo $data;
$data1 = 'thumb_8_2393_Shades 1.jpg';
$data1 = substr($data1,0,6)==='thumb_' ? str_replace( 'thumb_', '', $data1 ) : $data1;
echo $data1;
$filename=substr($filename,0,6)==='thumb_' ? str_replace( 'thumb_', '', $filename ) : $filename;
输出: - https://eval.in/606800
答案 1 :(得分:1)
使用strpos
和substr
函数的解决方案:
$images = ['thumb_8_2393_Shades 1.jpg','hanger-cloth.jpg', 'Red-Lehenga-1.jpg'];
foreach ($images as &$img) {
if (strpos($img, 'thumb_') === 0) { // if file name starts with 'thumb_'
$img = substr($img, 6);
}
}
print_r($images);
输出:
Array
(
[0] => 8_2393_Shades 1.jpg
[1] => hanger-cloth.jpg
[2] => Red-Lehenga-1.jpg
)