PHP正则匹配html 北京图片并替换
时间: 2024-05-25 19:16:36 浏览: 166
假设需要匹配的html代码为:
```html
<div>
<img src="http://www.example.com/beijing.jpg" alt="beijing">
</div>
```
可以使用以下PHP代码进行正则匹配和替换:
```php
$html = '<div><img src="http://www.example.com/beijing.jpg" alt="beijing"></div>';
$pattern = '/<img\s+src="(.+\/beijing\.jpg)"\s+alt="beijing">/';
$replacement = '<img src="http://www.example.com/beijing-new.jpg" alt="beijing-new">';
$newHtml = preg_replace($pattern, $replacement, $html);
echo $newHtml;
```
解释一下上述代码:
1. `$html` 是要进行匹配和替换的html代码;
2. `$pattern` 是用来匹配html中`<img>`标签的正则表达式,其中`(.+\/beijing\.jpg)`表示匹配任意字符,直到遇到`/beijing.jpg`为止;
3. `$replacement` 是用来替换匹配到的`<img>`标签的代码,这里将`src`属性的值改为了`http://www.example.com/beijing-new.jpg`;
4. `preg_replace()` 函数将匹配到的`<img>`标签替换为`$replacement`中的代码,生成新的html代码并赋值给`$newHtml`变量;
5. 最后使用`echo`语句将新的html代码输出到浏览器上。
阅读全文