使用preg_replace重写表单属性


Rewrite form attributes using preg_replace

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

原始HTML:

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

所需HTML:

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

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

正确的方法是使用PHP提供的专用类来管理DOM树。

爬网程序组件是一个帮助程序库,可以为操作提供便利。

Regex:

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

替换字符串:

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

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

(.*?)再次匹配零个或多个任何字符(新行除外),但只匹配到达<所需的数量,并创建一个可以"反向引用"的正则表达式组(http://www.regular-expressions.info/backref.html)在替换字符串中。

在替换字符串中,'1是指(在本例中)"原始输入"的反向引用。