php正则过滤html标签、空格、换行符的代码
封面图
•
2025-10-29
•
PHP
166
0
0
0
在 PHP 中,你可以使用正则表达式来过滤 HTML 标签、空格和换行符。下面是一个示例代码,它会: - 移除所有 HTML 标签(如 `<div>`, `<p>` 等) - 移除多余的空白字符(包括空格、制表符、换行符等) - 保留文本内容 ### 示例代码: ```php <?php function filterHtmlAndWhitespace($input) { // 移除 HTML 标签 $filtered = preg_replace('/<[^>]+>/', '', $input); // 移除空白字符(包括空格、换行、制表符等) $filtered = preg_replace('/\s+/', ' ', $filtered); // 去除首尾的空格 $filtered = trim($filtered); return $filtered; } // 示例用法 $html = "<div>Hello <b>World</b>!\n\nThis is a test.</div>"; $result = filterHtmlAndWhitespace($html); echo $result; // 输出: Hello World! This is a test. ?> ``` --- ### 说明: - `/<[^>]+>/`:匹配所有 HTML 标签。 - `/\s+/`:匹配一个或多个空白字符(包括空格、换行、制表符等)。 - `trim()`:移除字符串开头和结尾的空白。 --- ### 如果你只想移除换行符和空格,但保留其他空白(如多个空格),可以这样做: ```php $filtered = preg_replace('/[\r\n\t]/', ' ', $input); // 只替换换行、制表符 $filtered = preg_replace('/\s+/', ' ', $filtered); // 合并多个空格为一个 $filtered = trim($filtered); ``` --- 如有需要,也可以使用 `strip_tags()` 函数结合 `preg_replace` 来实现更灵活的过滤。例如: ```php $filtered = strip_tags($input); // 移除所有 HTML 标签 $filtered = preg_replace('/\s+/', ' ', $filtered); $filtered = trim($filtered); ``` 如果你有特定的标签要保留,可以修改正则表达式来排除它们。 需要我帮你定制特定规则吗?
上一篇:
香橙鸡翅 菜谱
下一篇:
Snoopy 实现模拟百度爬虫 PHP代码
标题录入,一次不能超过6条
留言
评论