[转] [XiunoBBS4.0.4:帖子增强1.3.18] @后内容丢失修正 (2019/02/25)
转载: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. 快速回复时空格为 ,换行为<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|\/|:|@|<|>| ]+)/' , $post [ 'message_fmt' ], $haya_post_info_usernames_fmt ); preg_match_all( '/@([^\s|\/|:|@|<|>| ]+)/' , $post [ 'message' ], $haya_post_info_usernames ); |
4. 后台-其他-清理缓存,重新发帖即可。