[转] [XiunoBBS4.0.4:帖子增强1.3.18] @后内容丢失修正 (2019/02/25)

C 2019-6-8 3000

转载:https://bbs.xiuno.com/thread-150337.htm


【说明】

插件:http://plugin.xiuno.com/plugin-read-haya_post_info.htm

帖子:https://bbs.xiuno.com/thread-20677.htm

首先感谢作者 @迷路的猫 热心贡献,不过这个插件有个BUG。

在帖子快速回复时,@用户名后面的内容会全部丢失。


【原因】

1. 插件匹配从@开始直到[^\s|\/|:|@](空白和换行、/、:、@几个符号)中止,并替换匹配的内容为用户链接。

2. 快速回复时空格为&nbsp;,换行为<br>,不在匹配范围内。

3. 所以导致后面的内容一并被匹配替换,导致内容丢失。


【修复】

1. 打开/plugin/haya_post_info/hook/post_post_end.php

2. 找到如下两行:

1
2
    preg_match_all('/@([^\s|\/|:|@]+)/'$post['message_fmt'], $haya_post_info_usernames_fmt);
    preg_match_all('/@([^\s|\/|:|@]+)/'$post['message'], $haya_post_info_usernames);

3. 替换为:

1
2
    preg_match_all('/@([^\s|\/|:|@|<|>|&nbsp;]+)/'$post['message_fmt'], $haya_post_info_usernames_fmt);
    preg_match_all('/@([^\s|\/|:|@|<|>|&nbsp;]+)/'$post['message'], $haya_post_info_usernames);

4. 后台-其他-清理缓存,重新发帖即可。




最新回复 (1)