我在記事本++或任何編輯器中有大量程式碼,但我想快速替換所有文字。
notepad++中有編輯和替換選項嗎?
<option value="0" <?php if($options=="PHP") echo 'selected="selected"'; ?>>Min Price</option>
<option value="25000" <?php if($options=="PHP") echo 'selected="selected"'; ?>>25,000</option>
<option value="50000" <?php if($options=="PHP") echo 'selected="selected"'; ?>>50,000</option>
<option value="75000" <?php if($options=="PHP") echo 'selected="selected"'; ?>>75,000</option>
<option value="100000" <?php if($options=="PHP") echo 'selected="selected"'; ?>>100,000</option>
<option value="125000">125,000</option>
<option value="150000">150,000</option>
<option value="175000">175,000</option>
<option value="200000">200,000</option>
<option value="225000">225,000</option>
-------
-------
-------
-------
-------
----etc---
如何輕鬆地在所有其他值上新增像第 1 個 4 值一樣選定的 php echo。
注意:我不想要循環。 (我使用的是 Notepad++ 或 Sublime 編輯器)
答案1
我建議您放棄 XY 問題(糞便拋光任務),廢棄非 DRY 代碼,並使用循環輸入一系列值。在迭代時,selected
使用適合您的應用程式的任何條件邏輯有條件地註入屬性。
代碼: (示範)
$selectedNumber = 75000;
echo '<option value="0">Min Price</option>';
foreach (range(25000, 200000, 25000) as $number) {
printf(
'<option value="%s"%s>%s</option>',
$number,
$number == $selectedNumber ? ' selected' : '',
number_format($number)
);
}
輸出:
<option value="0">Min Price</option>
<option value="25000">25,000</option>
<option value="50000">50,000</option>
<option value="75000" selected>75,000</option>
<option value="100000">100,000</option>
<option value="125000">125,000</option>
<option value="150000">150,000</option>
<option value="175000">175,000</option>
<option value="200000">200,000</option>
如果您想保持臃腫/WET 腳本的原樣,您可以突出顯示 select 中的所有目標選項標籤並:
尋找:(<option value=")(\d+)(")
取代:$1$2$3<?php echo \$selectedNumber == "$2" ? ' selected' : ''; ?>
我不再使用 sublime(或 notepad++),但在 PHPStorm 上,您可以使用相同的查找模式,然後單擊“選擇所有出現”( Ctrl-Alt-Shft-J),然後按關鍵字上的右箭頭(這將取消突出顯示匹配的字元)並將插入符號放在匹配項的末尾),然後如果您不想在每行上輸入動態文本,則只需開始輸入您想要的內容即可- 但這部分問題(正如@Toto指出的那樣)沒有邏輯意義。