全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
楼主: okfree

[疑问] 请问有什么方法用php代码过滤某个html标签吗

[复制链接]
发表于 2023-11-19 14:31:35 | 显示全部楼层
okfree 发表于 2023-11-19 13:55
js代码可以解决吗

当然可以,所有的DOM都可以通过js修改。
而PHP运行在HTML之前,所以无法直接实现保留某个标签又禁用它的实际效果。
发表于 2023-11-19 14:34:56 | 显示全部楼层
正则表达式匹配替换成空字符串
 楼主| 发表于 2023-11-19 14:37:49 | 显示全部楼层
jekyll 发表于 2023-11-19 14:31
当然可以,所有的DOM都可以通过js修改。
而PHP运行在HTML之前,所以无法直接实现保留某个标签又禁用它的 ...

求方法
 楼主| 发表于 2023-11-19 14:43:15 | 显示全部楼层
karson 发表于 2023-11-19 14:34
正则表达式匹配替换成空字符串

具体代码和方法 谢谢
发表于 2023-11-19 14:47:57 | 显示全部楼层
okfree 发表于 2023-11-19 14:43
具体代码和方法 谢谢

看你的html标签是什么东西了
如果html标签本来就是字符串`echo`出来的,直接正则表达式`preg_replace`过滤它就好了

如果你说的html标签其实嵌入在php代码本身,那就有点野了
你可以先将这个php文件读取为字符串
然后正则替换
最后用`eval`函数将这坨字符串作为php代码执行

不过这相当于执行前临时改源码,就很不优雅了  除非你真的需要这么做吧
 楼主| 发表于 2023-11-19 14:54:22 | 显示全部楼层
karson 发表于 2023-11-19 14:47
看你的html标签是什么东西了
如果html标签本来就是字符串`echo`出来的,直接正则表达式`preg_replace`过 ...

正常html输出内容
屏蔽过滤</head>标签
就屏蔽这个标签
发表于 2023-11-19 14:58:50 | 显示全部楼层
okfree 发表于 2023-11-19 14:54
正常html输出内容
屏蔽过滤标签
就屏蔽这个标签

重点在于这个html输出内容是哪里出来的=,=

不过看你的样子,你的意思是现在有一段php代码,你无法更改,但你希望修改它输出的内容,是不是这个意思?
 楼主| 发表于 2023-11-19 15:12:59 | 显示全部楼层
karson 发表于 2023-11-19 14:58
重点在于这个html输出内容是哪里出来的=,=

不过看你的样子,你的意思是现在有一段php代码,你无法更改 ...

我只过滤</head>标签
中间内容不过滤<head>标签不过滤
就是相当于删除了</head>标签
发表于 2023-11-19 15:27:05 | 显示全部楼层
本帖最后由 karson 于 2023-11-19 15:29 编辑
okfree 发表于 2023-11-19 15:12
我只过滤标签
中间内容不过滤标签不过滤
就是相当于删除了标签

  1. <?php
  2. function filter_head($str)
  3. {
  4.   return str_replace("</head>", "", $str);
  5. }
  6. // 目标是字符串
  7. echo filter_head("<head>abc</head>");
  8. ?>


  9. <?php // 目标是php代码,包括字面tag、文件输出、函数输出等你无法控制的部分 ?>
  10. <?php ob_start('filter_head'); ?>
  11. <head>abc</head>
  12. <?php ob_end_flush(); ?>

  13. <?php // 其它内容 ?>
复制代码
发表于 2023-11-19 15:34:46 | 显示全部楼层

我觉得他说的是php里面的html,就是懒得一个一个文件去删
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-22 23:31 , Processed in 0.063441 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表