У меня большой объем кода в Notepad++ или любом другом редакторе, но я хочу быстро заменить весь текст.
Есть ли возможность редактировать и заменять в 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---
Как легко добавить php echo выбранное как 1st 4 значение во все остальные значения.
Примечание: я не хочу Loop. (Я использую Notepad++ или Sublime Editor)
решение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) не имеет логического смысла.