久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线
Discuz! 官方交流社區(qū)
標(biāo)題:
分享一個將帖子中的br換成P
[打印本頁]
作者:
波多野結(jié)衣
時間:
2025-2-7 18:07
標(biāo)題:
分享一個將帖子中的br換成P
本帖最后由 波多野結(jié)衣 于 2025-2-7 18:29 編輯
用AI弄的,不懂代碼,弄了好幾天
<?php
if (!defined('IN_DISCUZ')) {
exit('Access Denied');
}
class plugin_identifier {
function discuzcode($value) {
global $_G;
if ($value['caller'] == 'discuzcode' && isset($_G['discuzcodemessage'])) {
// 獲取要處理的內(nèi)容
$thread_message = $_G['discuzcodemessage'];
// 第一步:移除所有的 <br> 標(biāo)簽
$thread_message = preg_replace('/<br\s*\/?>/', '', $thread_message); // 先把 <br> 標(biāo)簽移除
// 第二步:將所有換行符替換為統(tǒng)一的段落分隔符 <p></p>
$thread_message = preg_replace('/\n+/', '</p><p>', $thread_message);
// 第三步:確保每個段落都包裹在 <p></p> 標(biāo)簽中
$thread_message = '<p>' . $thread_message . '</p>';
// 第四步:移除每個 <p> 標(biāo)簽中如果僅有 <br> 標(biāo)簽的情況
$thread_message = preg_replace('/<p>\s*<br\s*\/?>\s*<\/p>/', '', $thread_message); // 如果 <p> 標(biāo)簽中只有 <br> 標(biāo)簽,去除空段落
// 第五步:移除段落內(nèi)多余的空白或 <br> 標(biāo)簽
$thread_message = preg_replace('/<p>\s*(<br\s*\/?>\s*)*<\/p>/', '<p></p>', $thread_message); // 如果段落內(nèi)有多余的 <br> 標(biāo)簽,替換為空段落
// 最后:處理去掉所有的多余換行符
$thread_message = preg_replace('/\s+/', '', $thread_message); // 移除多余空格或換行符
//如果要強行將所有空行刪除,取消注釋下面這行
//$thread_message = preg_replace('/<p>\s*<\/p>/', '', $thread_message); //除多余的空 <p></p> 標(biāo)簽
// 最終存儲處理后的內(nèi)容
$_G['discuzcodemessage'] = $thread_message;
}
}
}
?>
復(fù)制代碼
將里面的
if ($value['caller'] == 'discuzcode' && isset($_G['discuzcodemessage'])) {
復(fù)制代碼
這段放到你的腳本里面,插件根目錄xxx.class.php這個,每次換行都會加一個p標(biāo)簽,需要自行給P標(biāo)簽添加樣式,比如.
t_fsz p {margin: 16px 0; line-height: 26px;}這個需要自行修改測試,
plugin_identifier是插件標(biāo)識哈。
(, 下載次數(shù): 7)
上傳
點擊文件名下載附件
如果要強制將帖子里所有的空行移除的話。
//如果要強行將所有空行刪除,取消注釋下面這行
//$thread_message = preg_replace('/<p>\s*<\/p>/', '', $thread_message); //除多余的空 <p></p> 標(biāo)簽
復(fù)制代碼
將這段取消注釋
(, 下載次數(shù): 9)
上傳
點擊文件名下載附件
都5025年了,這種低級問題該改嘍。
作者:
波多野結(jié)衣
時間:
2025-2-7 18:12
樓上說錯了
應(yīng)該是將
function discuzcode($value) {
復(fù)制代碼
這段放在腳本文件里
作者:
波多野結(jié)衣
時間:
2025-2-7 18:31
<?php
if (!defined('IN_DISCUZ')) {
exit('Access Denied');
}
class mobileplugin_identifier{
// 換帖子中的BR替換成P標(biāo)簽
function discuzcode($value) {
global $_G;
if ($value['caller'] == 'discuzcode' && isset($_G['discuzcodemessage'])) {
// 獲取要處理的內(nèi)容
$thread_message = $_G['discuzcodemessage'];
// 第一步:移除所有的 <br> 標(biāo)簽
$thread_message = preg_replace('/<br\s*\/?>/', '', $thread_message); // 先把 <br> 標(biāo)簽移除
// 第二步:將所有換行符替換為統(tǒng)一的段落分隔符 <p></p>
$thread_message = preg_replace('/\n+/', '</p><p>', $thread_message);
// 第三步:確保每個段落都包裹在 <p></p> 標(biāo)簽中
$thread_message = '<p>' . $thread_message . '</p>';
// 第四步:移除每個 <p> 標(biāo)簽中如果僅有 <br> 標(biāo)簽的情況
$thread_message = preg_replace('/<p>\s*<br\s*\/?>\s*<\/p>/', '', $thread_message); // 如果 <p> 標(biāo)簽中只有 <br> 標(biāo)簽,去除空段落
// 第五步:移除段落內(nèi)多余的空白或 <br> 標(biāo)簽
$thread_message = preg_replace('/<p>\s*(<br\s*\/?>\s*)*<\/p>/', '<p></p>', $thread_message); // 如果段落內(nèi)有多余的 <br> 標(biāo)簽,替換為空段落
// 最后:處理去掉所有的多余換行符
$thread_message = preg_replace('/\s+/', '', $thread_message); // 移除多余空格或換行符
//如果要強行將所有空行刪除,取消注釋下面這行
//$thread_message = preg_replace('/<p>\s*<\/p>/', '', $thread_message); //除多余的空 <p></p> 標(biāo)簽
// 最終存儲處理后的內(nèi)容
$_G['discuzcodemessage'] = $thread_message;
}
}
}
?>
復(fù)制代碼
這個是手機版插件里面的
(, 下載次數(shù): 8)
上傳
點擊文件名下載附件
作者:
波多野結(jié)衣
時間:
2025-2-7 18:33
我的帖子都不會要求大家強行回復(fù)的哦
作者:
龍二哥
時間:
2025-2-8 13:05
牛逼可拉屎
作者:
TaC
時間:
2025-2-8 21:28
分享是厚道,可是你這寫了這么多,我還看不出來用在啥地方,實現(xiàn)啥效果。
歡迎光臨 Discuz! 官方交流社區(qū) (http://www.9999xn.com/)
Powered by Discuz! W1.0