### 问题表现 1. **文字样式丢失** 当为文字添加蓝色属性时,保存后会发现文字前面多了`yle="color:blue;"`,同时原先设置的标题3属性(如`
`标签)也可能丢失。源代码显示如下:
yle="color:blue;">三国群英传2
正常情况下,代码应为:
三国群英传2
2. **图片长宽属性异常**
在为图片添加长宽属性时,保存后会发现`style`被替换成了`style`,导致样式失效。
### 解决方法
要解决这一问题,需要对Dedecms的核心文件进行修改。以下是具体步骤:
#### 第一步:修改`datalistcp.class.php`文件
打开`/include/datalistcp.class.php`文件,找到第237行左右的代码:
$replacement = substr($ra[$i], 0, 2).''.substr($ra[$i], 2);
将其替换为以下代码:
$replacement = substr($ra[$i], 0, 2).substr($ra[$i], 2);
#### 第二步:修改`filter.helper.php`文件
接着,打开`/include/helpers/filter.helper.php`文件,在大约第98行的位置找到类似的代码:
$replacement = substr($ra[$i], 0, 2).''.substr($ra[$i], 2);
同样将其替换为:
$replacement = substr($ra[$i], 0, 2).substr($ra[$i], 2);
#### 第三步:保存并测试
完成上述修改后,保存文件并覆盖原文件。然后返回Dedecms后台发布内容,此时你会发现`style`属性不会再被自动替换了。
### 注意事项
虽然通过上述方法可以解决`style`属性被替换的问题,但需要注意的是,Dedecms的这种过滤机制是为了防止XSS攻击等安全问题。因此,在修改核心文件之前,请确保备份相关文件,并根据实际需求评估是否需要保留过滤功能。
希望这篇文章能帮助到正在为此问题困扰的用户!如果有其他疑问,欢迎继续探讨。
yle="color:blue;">三国群英传2
三国群英传2
### 解决方法 要解决这一问题,需要对Dedecms的核心文件进行修改。以下是具体步骤: #### 第一步:修改`datalistcp.class.php`文件 打开`/include/datalistcp.class.php`文件,找到第237行左右的代码:
$replacement = substr($ra[$i], 0, 2).''.substr($ra[$i], 2);
$replacement = substr($ra[$i], 0, 2).substr($ra[$i], 2);
$replacement = substr($ra[$i], 0, 2).''.substr($ra[$i], 2);
$replacement = substr($ra[$i], 0, 2).substr($ra[$i], 2);
### 注意事项 虽然通过上述方法可以解决`style`属性被替换的问题,但需要注意的是,Dedecms的这种过滤机制是为了防止XSS攻击等安全问题。因此,在修改核心文件之前,请确保备份相关文件,并根据实际需求评估是否需要保留过滤功能。 希望这篇文章能帮助到正在为此问题困扰的用户!如果有其他疑问,欢迎继续探讨。