實施例:刪除Word通過位置輸入
輸入= 2
文本= AA BB CC
將變爲:AA CC
用於位置的輸入是$ _POST [ '位置']
我有
$words = explode(" ", $_POST['string']);
for ($i=0; $i<count($words); $i++){
echo $words[$i] . " ";
}
實施例:刪除Word通過位置輸入
輸入= 2
文本= AA BB CC
將變爲:AA CC
用於位置的輸入是$ _POST [ '位置']
我有
$words = explode(" ", $_POST['string']);
for ($i=0; $i<count($words); $i++){
echo $words[$i] . " ";
}
$to_remove = 2;
$text = "aa bb cc";
$words = explode(' ', $text);
if(isset($words[$to_remove -1])) unset($words[$to_remove -1]);
$text = implode(' ', $words);
你可以設置'$ to_remove = $ _POST ['position'] - 1;'它使用OP的位置值,並在取消設置時刪除'-1'兩次。 – Joe
$input = 2;
$words = explode(" ", $_POST['string']);
unset($words[$input-1]);
$words = implode(" ", $words);
echo $words;
這聽起來像一個家庭作業問題。我將它取刺,但:
代碼:
<?php
$string = trim($_POST['string']);
$parts = explode(" ", string);
$newString = "";
$position = intval($_POST['position']);
for($a = 0; $a < count($parts); $a++) {
if($a != $position) { // or $a != ($position - 1) depending on if you passed in zero based position
$newString = $newString . $parts[$a] . " ";
}
}
$newString = trim($newString);
echo "Old String: " . $string . "<br />";
echo "New String: " . $newString;
?>
輸出:
Old String: aa bb cc
New String: aa cc
拉出大槍正則表達式!
$string = 'aa bb cc dd';
$input = 2;
$regex = $input - 1;
echo preg_replace('#^((?:\S+\s+){'.$regex.'})(\S+\s*)#', '$1', $string);
輸出:aa cc dd
foreach循環往往更容易一點理解(IMO)。看起來也很乾淨。
$pos = 2;
$sentence = explode(" ", $_POST['string']);
foreach ($sentence as $index => $word) {
if ($index != $pos - 1) {
$result .= $word . ' ';
}
}
echo $result;
效率低得多,做多個字符串連接。更容易爆炸成一個數組,取消設置不需要的元素,然後重新加入。 –
你能想到更多的測試用例嗎? 「aa bb,cc」或「aa bb。Cc」是否會影響輸出的語法,這很重要嗎? – Cups