久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线

返回列表 發(fā)帖
查看: 720|回復(fù): 5

分享一個(gè)將帖子中的br換成P

20

主題

100

回帖

131

積分

漸入佳境

貢獻(xiàn)
0 點(diǎn)
金幣
5 個(gè)
樓主
發(fā)表于 2025-2-7 18:07:19 | 只看樓主 |只看大圖 |倒序?yàn)g覽 |閱讀模式


用AI弄的,不懂代碼,弄了好幾天
  1. <?php

  2. if (!defined('IN_DISCUZ')) {
  3.     exit('Access Denied');
  4. }

  5. class plugin_identifier {

  6.     function discuzcode($value) {
  7.         global $_G;

  8.         if ($value['caller'] == 'discuzcode' && isset($_G['discuzcodemessage'])) {

  9.             // 獲取要處理的內(nèi)容
  10.             $thread_message = $_G['discuzcodemessage'];

  11.             // 第一步:移除所有的 <br> 標(biāo)簽
  12.             $thread_message = preg_replace('/<br\s*\/?>/', '', $thread_message); // 先把 <br> 標(biāo)簽移除

  13.             // 第二步:將所有換行符替換為統(tǒng)一的段落分隔符 <p></p>
  14.             $thread_message = preg_replace('/\n+/', '</p><p>', $thread_message);

  15.             // 第三步:確保每個(gè)段落都包裹在 <p></p> 標(biāo)簽中
  16.             $thread_message = '<p>' . $thread_message . '</p>';

  17.             // 第四步:移除每個(gè) <p> 標(biāo)簽中如果僅有 <br> 標(biāo)簽的情況
  18.             $thread_message = preg_replace('/<p>\s*<br\s*\/?>\s*<\/p>/', '', $thread_message); // 如果 <p> 標(biāo)簽中只有 <br> 標(biāo)簽,去除空段落

  19.             // 第五步:移除段落內(nèi)多余的空白或 <br> 標(biāo)簽
  20.             $thread_message = preg_replace('/<p>\s*(<br\s*\/?>\s*)*<\/p>/', '<p></p>', $thread_message); // 如果段落內(nèi)有多余的 <br> 標(biāo)簽,替換為空段落

  21.             // 最后:處理去掉所有的多余換行符
  22.             $thread_message = preg_replace('/\s+/', '', $thread_message); // 移除多余空格或換行符

  23.             //如果要強(qiáng)行將所有空行刪除,取消注釋下面這行
  24.             //$thread_message = preg_replace('/<p>\s*<\/p>/', '', $thread_message); //除多余的空 <p></p> 標(biāo)簽

  25.             // 最終存儲(chǔ)處理后的內(nèi)容
  26.             $_G['discuzcodemessage'] = $thread_message;
  27.         }
  28.     }
  29. }
  30. ?>
復(fù)制代碼
將里面的
  1. if ($value['caller'] == 'discuzcode' && isset($_G['discuzcodemessage'])) {
復(fù)制代碼
這段放到你的腳本里面,插件根目錄xxx.class.php這個(gè),每次換行都會(huì)加一個(gè)p標(biāo)簽,需要自行給P標(biāo)簽添加樣式,比如.t_fsz p {margin: 16px 0; line-height: 26px;}這個(gè)需要自行修改測(cè)試,plugin_identifier是插件標(biāo)識(shí)哈。


如果要強(qiáng)制將帖子里所有的空行移除的話。
  1. //如果要強(qiáng)行將所有空行刪除,取消注釋下面這行
  2.             //$thread_message = preg_replace('/<p>\s*<\/p>/', '', $thread_message); //除多余的空 <p></p> 標(biāo)簽
復(fù)制代碼
將這段取消注釋


都5025年了,這種低級(jí)問(wèn)題該改嘍。

回復(fù)

使用道具 舉報(bào)

20

主題

100

回帖

131

積分

漸入佳境

貢獻(xiàn)
0 點(diǎn)
金幣
5 個(gè)
沙發(fā)
 樓主| 發(fā)表于 2025-2-7 18:12:09 | 只看Ta
樓上說(shuō)錯(cuò)了

應(yīng)該是將
  1. function discuzcode($value) {
復(fù)制代碼
這段放在腳本文件里
回復(fù)

使用道具 舉報(bào)

20

主題

100

回帖

131

積分

漸入佳境

貢獻(xiàn)
0 點(diǎn)
金幣
5 個(gè)
板凳
 樓主| 發(fā)表于 2025-2-7 18:31:19 | 只看Ta
  1. <?php

  2. if (!defined('IN_DISCUZ')) {
  3.     exit('Access Denied');
  4. }

  5. class mobileplugin_identifier{

  6.     // 換帖子中的BR替換成P標(biāo)簽
  7.     function discuzcode($value) {
  8.       global $_G;

  9.       if ($value['caller'] == 'discuzcode' && isset($_G['discuzcodemessage'])) {

  10.           // 獲取要處理的內(nèi)容
  11.           $thread_message = $_G['discuzcodemessage'];

  12.           // 第一步:移除所有的 <br> 標(biāo)簽
  13.           $thread_message = preg_replace('/<br\s*\/?>/', '', $thread_message); // 先把 <br> 標(biāo)簽移除

  14.           // 第二步:將所有換行符替換為統(tǒng)一的段落分隔符 <p></p>
  15.           $thread_message = preg_replace('/\n+/', '</p><p>', $thread_message);

  16.           // 第三步:確保每個(gè)段落都包裹在 <p></p> 標(biāo)簽中
  17.           $thread_message = '<p>' . $thread_message . '</p>';

  18.           // 第四步:移除每個(gè) <p> 標(biāo)簽中如果僅有 <br> 標(biāo)簽的情況
  19.           $thread_message = preg_replace('/<p>\s*<br\s*\/?>\s*<\/p>/', '', $thread_message); // 如果 <p> 標(biāo)簽中只有 <br> 標(biāo)簽,去除空段落

  20.           // 第五步:移除段落內(nèi)多余的空白或 <br> 標(biāo)簽
  21.           $thread_message = preg_replace('/<p>\s*(<br\s*\/?>\s*)*<\/p>/', '<p></p>', $thread_message); // 如果段落內(nèi)有多余的 <br> 標(biāo)簽,替換為空段落

  22.           // 最后:處理去掉所有的多余換行符
  23.           $thread_message = preg_replace('/\s+/', '', $thread_message); // 移除多余空格或換行符

  24.           //如果要強(qiáng)行將所有空行刪除,取消注釋下面這行
  25.           //$thread_message = preg_replace('/<p>\s*<\/p>/', '', $thread_message); //除多余的空 <p></p> 標(biāo)簽

  26.           // 最終存儲(chǔ)處理后的內(nèi)容
  27.           $_G['discuzcodemessage'] = $thread_message;
  28.       }
  29.   }
  30. }
  31. ?>
復(fù)制代碼
這個(gè)是手機(jī)版插件里面的



回復(fù)

使用道具 舉報(bào)

20

主題

100

回帖

131

積分

漸入佳境

貢獻(xiàn)
0 點(diǎn)
金幣
5 個(gè)
地板
 樓主| 發(fā)表于 2025-2-7 18:33:11 | 只看Ta
我的帖子都不會(huì)要求大家強(qiáng)行回復(fù)的哦
回復(fù)

使用道具 舉報(bào)

20

主題

305

回帖

452

積分

爐火純青

貢獻(xiàn)
3 點(diǎn)
金幣
57 個(gè)
5#
發(fā)表于 2025-2-8 13:05:20 | 只看Ta
牛逼可拉屎
回復(fù)

使用道具 舉報(bào)

TaC

104

主題

616

回帖

766

積分

自成一派

貢獻(xiàn)
5 點(diǎn)
金幣
3 個(gè)
6#
發(fā)表于 2025-2-8 21:28:26 | 只看Ta
分享是厚道,可是你這寫(xiě)了這么多,我還看不出來(lái)用在啥地方,實(shí)現(xiàn)啥效果。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

  • 關(guān)注公眾號(hào)
  • 有償服務(wù)微信
  • 有償服務(wù)QQ

手機(jī)版|小黑屋|Discuz! 官方交流社區(qū) ( 皖I(lǐng)CP備16010102號(hào) |皖公網(wǎng)安備34010302002376號(hào) )|網(wǎng)站地圖|star

GMT+8, 2025-7-3 05:09 , Processed in 0.059650 second(s), 11 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2025 Discuz! Team.

關(guān)燈 在本版發(fā)帖
有償服務(wù)QQ
有償服務(wù)微信
返回頂部
快速回復(fù) 返回頂部 返回列表