继续以大值添加选定的 php

继续以大值添加选定的 php

我在 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 选定的前 4 个值。
注意:我不想要循环。(我正在使用 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 脚本保持原样,您可以突出显示选择中的所有目标选项标签并:

查找:(<option value=")(\d+)(")
替换:$1$2$3<?php echo \$selectedNumber == "$2" ? ' selected' : ''; ?>


我不再使用 sublime(或 notepad++),但在 PHPStorm 上,您可以使用相同的查找模式,然后单击“选择所有出现次数”(Ctrl-Alt-Shft-J),然后按下关键字上的右箭头(这将取消突出显示匹配的字符并在匹配项的末尾放置插入符号),然后如果您不想要每行上的动态文本,只需开始输入您想要的内容 - 但您的问题的那部分(正如@Toto 指出的那样)没有逻辑意义。

相关内容