In web development, it is often necessary to use regular expressions to match strings. In HTML, the form tag is a very important tag, so if we need to get all the form tags in the page, then regular expressions become a very useful tool. This article will introduce using regular expressions in PHP to match all form tags in HTML.
1. The form tag in HTML
The form tag is a very important tag in HTML. It is used to create forms. A form is a way for users to input information. Form elements are usually created using tags such as input, select, and textarea. For example, the following is an HTML code containing a form tag:
<form action="submit.php" method="post"> <label for="username">用户名:</label> <input type="text" name="username" id="username"> <br> <label for="password">密码:</label> <input type="password" name="password" id="password"> <br> <input type="submit" value="提交"> </form>
In this HTML code, the attributes of the form tag include action and method. The action attribute specifies the address for submitting form data, and the method attribute specifies the method for submitting form data (get or post). The form contains two input boxes and a submit button.
2. Use PHP regular expressions to match all form tags in HTML
To match all form tags in HTML, we need to use regular expressions in PHP. First, we need to store the HTML code into a variable and then use the preg_match_all function to match. Here is a sample code:
<?php $html = " <html> <body> <form action='submit.php' method='post'> <label for='username'>用户名:</label> <input type='text' name='username' id='username'> <br> <label for='password'>密码:</label> <input type='password' name='password' id='password'> <br> <input type='submit' value='提交'> </form> </body> </html>"; // 正则表达式 $pattern = '/<form(.*?)</form>/si'; // s选项表示.匹配任何字符,包括换行符;i选项表示不区分大小写。 // 匹配 preg_match_all($pattern, $html, $matches); // 输出匹配结果 echo "<pre class="brush:php;toolbar:false">"; print_r($matches[0]); echo ""; ?>
In this code, we use a regular expression to match the form tag in the HTML code. The format of the regular expression is '
', where ? means non-greedy matching, and .? means matching 0 or more arbitrary characters. The meaning of this regular expression is: match all strings starting with '