使用正则表达式替换多行

时间:2018-08-25 18:13:02

标签: php regex

我需要更改一堆HTML元素以仅显示值,而不是显示带有值的输入... 对于普通输入,这是一件轻而易举的事情,但是对于单选按钮,事实证明它要困难得多。而且我认为复选框会出现相同的问题,因为它们都使用多行和php循环...

请注意:$array是其中包含字段值的现有数组

是否可以使用正则表达式更改以下代码:

<tr>
            <td colspan="1" class="title_td">The Column's Title Is Shown Here</td>
            <td colspan="3" class="input_td">
                <fieldset id="radio_group_name">
                    <?php
                        foreach ($radio_group as $option){
                            ?>
                                <label><input type="radio" value="<?php echo $option; ?>" name="radio_group_name" <?php echo ($array->radio_group_name==$option ? "checked='checked'" : ""); ?>> <?php echo $option; ?></label>
                            <?php
                        }
                    ?>
                </fieldset>
            </td>
        </tr>

并将其转换为:

<tr>
                <td colspan="1" class="title_td">The Column's Title Is Shown Here</td>
                <td colspan="3" class="input_td"><?php echo $array->radio_group_name; ?></td>
            </tr>

我使用http://buildregex.com/来构建正则表达式命令并使用https://regexr.com/对其进行测试,但是RegExr说当我使用诸如/<fieldset id="(?:.*)(?:type\=\"radio\")(?:.*)(?:\<\?php)/gim之类的单词和其他短语时没有匹配项...

当我从正则表达式中删除fieldset id="时,它会拾取输入,以及当我删除以下行的信息时,它也会拾取fieldset id="行,但是我无法使用它将这2个一起考虑,可能是因为它分成了两行...

有人知道解决方案吗?

0 个答案:

没有答案