使用preg_replace重写表单属性

时间:2015-12-21 21:05:38

标签: php regex preg-replace

我有一个完整的HTML页面加载到一个字符串中,我需要根据以下内容修改所有form

原始HTML:

<form Random=Random>orignal inputs</form>

所需的HTML:

<form Method='POST' action="index.php">orignal inputs</form>

2 个答案:

答案 0 :(得分:1)

对于此类任务,您可以尝试Symfony框架的Crawler component。 它可以帮助您导航DOM并设置节点的属性。

正确的方法是使用dedicated classes provided by PHP管理DOM树。

Crawler组件是一个可以促进操作的辅助库。

答案 1 :(得分:0)

正则表达式:

<form .*?>(.*?)</form>

替换字符串:

 <form Method='POST' action="index.php">\1</form>

说明: 第一个.*?匹配任何字符的零个或多个(新行除外),但只有达到'&gt;'所需的最小值

(.*?)再次匹配任何字符的零个或多个(新行除外),但只需要到达<所需的数量,并创建一个可以“反向引用”的正则表达式组({ {3}})替换字符串。

在替换字符串中,\1是引用 - 在此示例中 - 指向“原始输入”的反向引用。