php匹配div的正则
时间: 2023-10-02 09:07:04 浏览: 95
php正则匹配html中带class的div并选取其中内容的方法
以下是一个可以匹配包含 `<div>` 标签的 PHP 正则表达式:
```php
$pattern = "/<div\b[^>]*>(.*?)<\/div>/s";
```
正则表达式解释:
- `<div\b`: 匹配 `<div` 开始标签,`\b` 表示单词边界
- `[^>]*`: 匹配除了 `>` 以外的所有字符,`*` 表示匹配任意次
- `(.*?)`: 匹配 `<div>` 和 `</div>` 之间的所有内容,`?` 表示非贪婪匹配,遇到第一个 `</div>` 就停止匹配
- `<\/div>`: 匹配 `</div>` 结束标签,`\/` 表示转义字符 `/`
- `/s`: 表示使用单行模式,让 `.` 匹配包括换行符在内的所有字符
可以使用 `preg_match_all()` 函数来查找多个符合条件的结果:
```php
$html = '<div>第一个</div><span>不是div</span><div>第二个</div>';
$pattern = "/<div\b[^>]*>(.*?)<\/div>/s";
preg_match_all($pattern, $html, $matches);
print_r($matches[0]); // 输出匹配到的结果
```
输出:
```
Array
(
[0] => <div>第一个</div>
[1] => <div>第二个</div>
)
```
阅读全文