这是我的简单代码:
$string = "PAAUSTRALIA" ;
$output = str_replace("A","",$string);
$output = str_replace("P","",$output);
这里的输出是:USTRLI
但是,我想要的输出是澳大利亚。
在php中有没有简单的方法来完成这项任务?简单地说,我想每次从字符串左侧为我的项目替换一个字符。
答案 0 :(得分:3)
您必须使用功能才能顺利完成此任务。请看一下我的代码:
<?php
function onereplace($str,$replaced_character){
$spt = str_split($str,1);
for($i=0; $i <= (count($spt) - 1) ; $i++){
if($spt[$i] == $replaced_character){
unset($spt[$i]);
break;
}
}
return implode('',$spt);
}
$string = "PAAUSTRALIA" ;
$string = onereplace($string,"P");
echo $string = onereplace($string,"A");
?>
希望它能帮到你!!!
答案 1 :(得分:2)
尝试使用substr和strpos代替str_replace作为
$string = "PAAUSTRALIA" ;
$string = substr($string,(strpos($string, 'P') > -1));
$string = substr($string,(strpos($string, 'A') > -1));
echo $string; //AUSTRALIA
已编辑
创建函数也将与
相同echo removeOne($string,'p');
function removeOne($str,$value){
return substr($str,(stripos($str,$value) > -1));
}
str_replace会在字符串中找到字母'A',并将其替换为''
答案 2 :(得分:1)
另一种选择是使用支持限制参数的preg_replace
:
http://php.net/manual/en/function.preg-replace.php
$string = "PAAUSTRALIA" ;
$string = preg_replace("@A@", "", $string, 1);
$string = preg_replace("@P@", "", $string, 1);
答案 3 :(得分:0)
请在php中使用此功能执行任务:substr(yourstring, startindex, endindex)
被修改
substr(yourstring, 0, strlen($yourstring))
有关手册,请参阅此链接:http://php.net/substr
我希望这会对你有所帮助。
答案 4 :(得分:0)
echo substr($string ,1,strlen($string));
参考:
substr(string,start,length)
答案 5 :(得分:0)
str_replace将替换字符串中匹配的所有字符。
尝试使用substr()
$string = "AAUSTRALIA" ;
$output = substr($string, 1);
答案 6 :(得分:0)
如果你只是想从左边删除1个字符,那么你需要的只是substr():
$string = "PAAUSTRALIA" ;
$string = substr($string, 1); // AAUSTRALIA
$string = substr($string, 1); // AUSTRALIA