通过位置php从字符串中删除单词

时间:2013-06-19 21:49:07

标签: php string

我想从输入中删除给定位置的字符串中的单词,以及输入中位置的以下单词。

实施例

position = 2

string = aa bb cc dd ee ff gg hh

将成为:aa cc ee gg

我有:

$delete = $position - 1;
$words = explode(" ", $string);
if(isset($words[$delete])) unset($words[$delete]);
$string = implode(" ", $words);
echo $string;}

显示

aa cc dd ee ff gg hh

3 个答案:

答案 0 :(得分:1)

这是未经测试的,但我认为这正是您所寻找的。 这将在删除后或开始计算单词时删除每个第二个单词。

$deletePos = 2;
$words = explode(" ", $string);

$i = 1;
foreach($words as $key => $word) {
  if ($i == $deletePos) {
    unset($words[$key]);
    $i = 1;
    continue;
  }
  $i++;
}

答案 1 :(得分:1)

$position = 2;
$string = 'aa bb cc dd ee ff gg hh';
$arr=explode(' ', $string);
$count = count($arr);
// $position-1 because PHP arrays are 0-based, but the $position is 1-based.
for ($i = $position-1; $i < $count; $i += $position) {
  unset($arr[$i]);
}
$new_string = implode(' ', $arr);
echo $new_string;

答案 2 :(得分:0)

 $position = 2;

$string = 'aa bb cc dd ee ff gg hh';

$arr=explode(' ', $string);
$final_str='';

for($i=0;$i<count($arr);$i++) {

    if($i%$position==0) {
    $final_str.=$arr[$i].' ';
    }

}

echo $final_str;