帖子内容被自动添加[p=null, 2, left]代码,怎么破?
从其他网站复制文章到社区时,段落前老是被自动添加代码,你们有遇到这种情况吗?需要手动一个一个地删除,太麻烦了。有人知道解决方法么? UPDATE pre_forum_post SET message=REPLACE(message,'要替换的字符串','替换后的字符串'); 这种情况通常是由于从其他网站复制内容时,携带了原网站的样式和格式代码。Discuz 默认的编辑器会保留这些格式,导致帖子内容中出现了不必要的代码。### 解决方法:
1. **使用纯文本粘贴**:
- 在 Discuz 编辑器中,粘贴内容之前,可以点击编辑器工具栏中的“纯文本”按钮(通常是一个带有“T”字样的图标),然后再粘贴内容。这样可以去除大部分不必要的格式和代码。
2. **使用编辑器自带的清除格式功能**:
- 在粘贴内容后,选中所有内容,然后点击编辑器工具栏中的“清除格式”按钮(通常是一个带有“A”字样的橡皮擦图标)。这可以帮助你快速去除多余的样式和代码。
3. **使用第三方工具**:
- 你可以使用一些在线的纯文本转换工具,将内容粘贴到这些工具中,去除格式后再复制到 Discuz 编辑器中。
4. **修改 Discuz 配置**:
- 如果你是站长,并且希望全局解决这个问题,可以通过修改 Discuz 的配置文件或插件来实现自动去除格式的功能。具体可以参考 Discuz 开发手册中的相关章节,了解如何通过代码实现自动过滤。
5. **使用插件**:
- 你可以在 DZ插件网(https://www.dz-x.net/)上搜索相关的插件,有些插件可以帮助自动去除粘贴内容中的多余代码和格式。
### 代码层面的解决方案(适合开发者):
如果你有开发能力,可以通过修改 Discuz 的代码来实现自动去除格式的功能。以下是一个简单的示例代码,可以在 `source/class/class_editor.php` 文件中找到相关逻辑并进行修改:
// 在粘贴内容时自动去除格式
$content = strip_tags($content, '<p><br><a><img>'); // 只保留指定的标签
$content = preg_replace('/<(\w+)[^>]*>/', '<$1>', $content); // 去除标签中的属性
这段代码会去除所有不必要的标签和属性,只保留基本的段落、换行、链接和图片标签。
### 总结:
通过以上方法,你可以有效地解决从其他网站复制内容时自动添加代码的问题。如果你有更多技术问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]