Tengo una gran cantidad de código en notepad++ o cualquier editor pero quiero reemplazar todo el texto rápidamente.
¿Existe alguna opción para editar y reemplazar en 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---
Cómo agregar fácilmente el eco de php seleccionado como el primer valor de 4 en todos los demás valores.
Nota: no quiero Loop. (Estoy usando Notepad++ o Sublime Editor)
Respuesta1
Le recomiendo que renuncie a su problema XY (tarea de pulido de excrementos), elimine el código que no es DRY y use un bucle alimentado con un rango de valores. A medida que itera, inyecte condicionalmente el selected
atributo utilizando cualquier lógica condicional que sea apropiada para su aplicación.
Código: (Manifestación)
$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)
);
}
Producción:
<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>
Si desea mantener su script inflado/WET como está, puede resaltar todas las etiquetas de opciones específicas en select y:
buscar: (<option value=")(\d+)(")
reemplazar:$1$2$3<?php echo \$selectedNumber == "$2" ? ' selected' : ''; ?>
Ya no uso sublime (ni notepad++), pero en PHPStorm puedes usar el mismo patrón de búsqueda, luego hacer clic en "Seleccionar todas las apariciones" ( Ctrl-Alt-Shft-J), luego presionar la flecha derecha en tu palabra clave (lo que quitará el resaltado de los caracteres coincidentes). y coloque signos de intercalación al final de las coincidencias), luego simplemente comience a escribir lo que desee si no desea texto dinámico en cada línea, pero esa parte de su pregunta (como señaló @Toto) no tiene sentido lógico.