如何从php字符串中删除替换字符

时间:2015-03-25 09:49:07

标签: php string

我有字符串假设

$str = "abcdefghijklmno";

我想要一个像

这样的字符串
$new_str = "acegikmo";

如果可能的话,我需要使用PHP函数的任何组合的最短方法。

4 个答案:

答案 0 :(得分:1)

尝试以下代码

$string = 'teststring'; //if you want odd places characters then add whitespace at the starting of the string i.e ' teststing'
$array= str_split($string,1);
$new_string = '';
foreach($array $key=>$data){
if($key&1){
            $new_string .= $data;
    }
}
echo $new_string;

答案 1 :(得分:0)

使用以下代码

$string = 'abcdefghijklmno';
$new_str = '';
for($i=0;$i<=strlen($string); $i++){
  if($i%2!=0){
    $new_str.=$string[$i-1];
  }
}

echo $new_str;

答案 2 :(得分:0)

您可以删除字符串的每个第二个字符:

$str = "abcdefghijklmno";
$str = preg_replace("/(\w)\w/","$1",$str);

示例:

abcdefghijklmno will become acegikmo
1234567890 will become 13579

答案 3 :(得分:0)

如果你正在运行 PHP 5.6 ,你可以使用array_filter

$string = "abcdefghijklmno";

$newstring = join("",
                array_filter
                (
                    str_split($string),
                    function($k) { 
                        return ($k % 2 == 0);
                        }, 
                    ARRAY_FILTER_USE_KEY
                )
            );
//acegikmo

http://ideone.com/HC7eL0