论坛里有人熟悉discuz X3.1吗?怎样将主题内容完整的显示出来
论坛里有人熟悉discuz X3.1吗?怎样将主题内容完整的显示出来。
主题容易读出来forum_thread表就行了,但容易表forum_post里的内容不容易读出来呀。
毕竟里面含有[attach]4[/attach][img=500,666]http://pic.qiushibaike.com/system/pictures/5726/57264521/medium/app57264521.jpg[/img]
等,杂七杂八的数据。
人家官方不交流代码,只交流怎样安装。我晕倒了。只能想到CSDN来了,看看有人能不能搞定这个。
回复讨论(解决方案)
论坛里有人熟悉discuz X3.1吗?怎样将主题内容完整的显示出来。
主题容易读出来forum_thread表就行了,但容易表forum_post里的内容不容易读出来呀。
毕竟里面含有[attach]4[/attach][img=500,666]http://pic.qiushibaike.com/system/pictures/5726/57264521/medium/app57264521.jpg[/img]
等,杂七杂八的数据。
人家官方不交流代码,只交流怎样安装。我晕倒了。只能想到CSDN来了,看看有人能不能搞定这个。
人家的代码本身就含有一个这样的转换函数
@chinmo 版主
关键是我找到discuzcode()、parseattach()解析函数后,似乎没用。目前还在找原因。
@chinmo 版主
关键是我找到discuzcode()、parseattach()解析函数后,似乎没用。目前还在找原因。
晕死,你直接到他的帖子内容页去找不就知道他用的什么函数了?这还纠结什么
@chinmo
大版主呀,帖子内容应该是source\module\forum\forum_viewthread.php这个文件
可我找来找去,感觉就只有这两个函数相关。但还没有起到作用。
找了两天,晕死
@chinmo
大版主呀,帖子内容应该是source\module\forum\forum_viewthread.php这个文件
可我找来找去,感觉就只有这两个函数相关。但还没有起到作用。
找了两天,晕死
你再他模板找干嘛,DZ的他基本都是用$post这个数组保存数据的,你在他的控制器文件里输出这个数组就知道是哪个字段保存着文章内容了,然后你在在他的控制器里查找他对这个字段所用的处理函数不就可以了
做程序这点最起码的查找能力应该有的吧
@chinmo
大版主呀,我肯定不会去模板层找了,真的没有你想象的那么简单,我用的是discuz X3.1utf8版本。
帖子内容应该是source\module\forum\forum_viewthread.php这个文件
大概903行左右:
parseattach($_G['forum_attachpids'], $_G['forum_attachtags'], $postlist, $skipaids);
用来解析附件的。
大概是在1228行:
$post['message'] = discuzcode($post['message'], $post['smileyoff'], $post['bbcodeoff'], $post['htmlon'] & 1, $_G['forum']['allowsmilies'], $forum_allowbbcode, ($_G['forum']['allowimgcode'] && $_G['setting']['showimages'] ? 1 : 0), $_G['forum']['allowhtml'], ($_G['forum']['jammer'] && $post['authorid'] != $_G['uid'] ? 1 : 0), 0, $post['authorid'], $_G['cache']['usergroups'][$post['groupid']]['allowmediacode'] && $_G['forum']['allowmediacode'], $post['pid'], $_G['setting']['lazyload'], $post['dbdateline'], $post['first']);
用来解析内容的
但不晓得为什么就是不成功。
discuzcode 就是了用的这个函数
不成功的话
最简单的排查就是在这个函数里断句输出,看看他在那里替换不成功
这样也可以找出你具体是在什么环节上弄错了
各路PHP牛人,我把代码奉上:
define('APPTYPEID', 2);
define('CURSCRIPT', 'forum');
require './source/class/class_core.php';
require './source/function/function_forum.php';
$cachelist = array();
C::app()->cachelist = $cachelist;
C::app()->init();
//$navtitle = str_replace('{bbname}', $_G['setting']['bbname'], $_G['setting']['seotitle']['forum']);
//$_G['setting']['threadhidethreshold'] = 1;
//$query = C::t('forum_thread')->fetch_all_for_guide1($view, $limittid, $tids, $_G['setting']['heatthread']['guidelimit'], $dateline);
//$query = C::t('forum_thread')->fetch_all_search('', 'forum_thread', 0,'', '', '');;
//print_r($query);
require_once libfile('function/discuzcode');
require_once libfile('function/attachment');
require_once libfile('function/forum');
$sql = "SELECT a.*, b.message,b.htmlon,b.bbcodeoff,b.smileyoff,b.parseurloff,b.pid,b.first FROM ".DB::table('forum_thread')." a left join ".DB::table('forum_post')." b on a.authorid=b.authorid and a.tid=b.tid and b.first=1 WHERE 1=1 AND a.heats>=1" ;
$sql = "SELECT a.*, b.message,b.htmlon,b.bbcodeoff,b.smileyoff,b.parseurloff,b.pid,b.first FROM ".DB::table('forum_thread')." a left join ".DB::table('forum_post')." b on a.authorid=b.authorid and a.tid=b.tid and b.first=1 WHERE a.tid>0 AND a.heats>=0 ORDER BY a.lastpost DESC LIMIT 600";
$query = DB::fetch_all($sql);
$postlist = array();
foreach($query as $post){
$post['message'] = discuzcode($post['message'], $post['smileyoff'], $post['bbcodeoff'], $post['htmlon'] & 1, $_G['forum']['allowsmilies'], $forum_allowbbcode, ($_G['forum']['allowimgcode'] && $_G['setting']['showimages'] ? 1 : 0), $_G['forum']['allowhtml'], ($_G['forum']['jammer'] && $post['authorid'] != $_G['uid'] ? 1 : 0), 0, $post['authorid'], $_G['cache']['usergroups'][$post['groupid']]['allowmediacode'] && $_G['forum']['allowmediacode'], $post['pid'], $_G['setting']['lazyload'], $post['dbdateline'], $post['first']);
$_G['forum_attachpids'][] = $post['pid'];
if(preg_match_all("/\[attach\](\d+)\[\/attach\]/i", $post['message'], $matchaids)) {
$_G['forum_attachtags'][$post['pid']] = $matchaids[1];
}
$postlist[$post['pid']] = $post;
}
parseattach($_G['forum_attachpids'], $_G['forum_attachtags'], $postlist);
print_r($postlist);
?>
死活找不到那里有问题。
形如[img=500,666]http://pic.qiushibaike.com/system/pictures/5726/57264521/medium/app57264521.jpg[/img]
这样的是 ubb 代码
你可以找到 ubb 解码程序相关的部分切入
他好像是 bbcode 类
我也是跟lz一样,找到类似函数后没法解析了。这里看来大神没空解释这个问题

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment changer la page qui ouvre le navigateur Microsoft Edge en navigation 360 ? C'est en fait très simple, je vais donc maintenant partager avec vous la méthode pour changer la page qui ouvre le navigateur Microsoft Edge en navigation 360. Les amis dans le besoin peuvent prendre une décision. regarde. J'espère pouvoir aider tout le monde. Ouvrez le navigateur Microsoft Edge. Nous voyons une page comme celle ci-dessous. Cliquez sur l'icône à trois points dans le coin supérieur droit. Cliquez sur "Paramètres". Cliquez sur "Au démarrage" dans la colonne de gauche de la page des paramètres. Cliquez sur les trois points affichés dans l'image dans la colonne de droite (ne cliquez pas sur "Ouvrir un nouvel onglet"), puis cliquez sur Modifier et remplacez l'URL par "0" (ou d'autres nombres dénués de sens). Cliquez ensuite sur "Enregistrer". Ensuite, sélectionnez "

"Explorer Discuz : définition, fonctions et exemples de code" Avec le développement rapide d'Internet, les forums communautaires sont devenus une plate-forme importante permettant aux gens d'obtenir des informations et d'échanger des opinions. Parmi les nombreux systèmes de forum communautaire, Discuz, en tant que logiciel de forum open source bien connu en Chine, est favorisé par la majorité des développeurs et administrateurs de sites Web. Alors, qu’est-ce que Discuz ? Quelles fonctions a-t-il et comment peut-il aider notre site Web ? Cet article présentera Discuz en détail et joindra des exemples de code spécifiques pour aider les lecteurs à en savoir plus.

Un incontournable pour les utilisateurs de Discuz ! Analyse complète des accessoires de renommage ! Sur le forum Discuz, la fonction de changement de nom a toujours reçu beaucoup d'attention et de demande de la part des utilisateurs. Pour certains utilisateurs qui ont besoin de changer de nom, les accessoires de changement de nom peuvent facilement modifier le nom d'utilisateur, et c'est également un moyen d'interaction intéressant. Examinons en profondeur les accessoires de renommage dans Discuz, y compris comment les obtenir, comment les utiliser et les solutions à certains problèmes courants. 1. Obtenez des accessoires de changement de nom dans Discuz. Les accessoires de changement de nom sont généralement achetés via des points ou par l'administrateur.

CheatEngine est un éditeur de jeu qui peut éditer et modifier la mémoire du jeu. Cependant, sa langue par défaut n'est pas le chinois, ce qui est gênant pour de nombreux amis. Alors, comment définir le chinois dans CheatEngine ? Aujourd'hui, l'éditeur vous donnera une introduction détaillée sur la façon de configurer le chinois dans CheatEngine. J'espère que cela pourra vous aider. Première méthode de paramétrage : 1. Double-cliquez pour ouvrir le logiciel et cliquez sur « modifier » dans le coin supérieur gauche. 2. Cliquez ensuite sur « paramètres » dans la liste d'options ci-dessous. 3. Dans l'interface de la fenêtre ouverte, cliquez sur « langues » dans la colonne de gauche

Savez-vous où définir le bouton de téléchargement pour qu'il s'affiche dans Microsoft Edge ? Ci-dessous, l'éditeur vous présentera la méthode pour définir le bouton de téléchargement à afficher dans Microsoft Edge. J'espère que cela vous sera utile. Suivons l'éditeur pour apprendre. à ce sujet ! Étape 1 : Ouvrez d'abord le navigateur Microsoft Edge, cliquez sur le logo [...] dans le coin supérieur droit, comme indiqué dans la figure ci-dessous. Étape 2 : Cliquez ensuite sur [Paramètres] dans le menu contextuel, comme indiqué dans la figure ci-dessous. Étape 3 : Cliquez ensuite sur [Apparence] sur le côté gauche de l'interface, comme indiqué dans la figure ci-dessous. Étape 4 : Enfin, cliquez sur le bouton à droite de [Afficher le bouton de téléchargement] et il passera du gris au bleu, comme le montre la figure ci-dessous. C'est ci-dessus que l'éditeur vous explique comment configurer le bouton de téléchargement dans Microsoft Edge.

"Explication détaillée du processus d'enregistrement de Discuz : vous permettant de modifier facilement les informations personnelles, des exemples de code spécifiques sont requis" Discuz est un puissant programme de forum communautaire largement utilisé dans divers sites Web. Il offre une multitude de fonctions d'enregistrement des utilisateurs et de modification des informations personnelles. et interfaces. Cet article vous présentera en détail le processus d'inscription de Discuz et fournira des exemples de code spécifiques pour vous aider à personnaliser et modifier facilement vos informations personnelles. 1. Processus d'enregistrement des utilisateurs Dans Discuz, l'enregistrement des utilisateurs est l'une des fonctions importantes du site. La fluidité du processus d'enregistrement et.

Explication détaillée des étapes de modification du nom de domaine Discuz. Des exemples de codes spécifiques sont nécessaires Avec le développement et le fonctionnement du site Web, nous devons parfois modifier le nom de domaine du forum Discuz. Cela peut être dû à un changement de marque ou au référencement du site Web. optimisation ou pour d'autres raisons. Quelle qu'en soit la raison, la modification du nom de domaine Discuz est un processus qui nécessite une opération minutieuse. Aujourd'hui, nous allons présenter en détail les étapes de modification du nom de domaine Discuz et fournir des exemples de code spécifiques. Étape 1 : Sauvegardez les données Avant de modifier le nom de domaine, vous devez d'abord vous assurer que le site Web

Titre : Pour résoudre le problème de l'impossibilité d'afficher les partages Discuz WeChat, des exemples de code spécifiques sont nécessaires. Avec le développement de l'Internet mobile, WeChat est devenu un élément indispensable de la vie quotidienne des gens. Dans le développement de sites Web, afin d'améliorer l'expérience utilisateur et d'étendre la visibilité du site Web, de nombreux sites Web intégreront des fonctions de partage WeChat, permettant aux utilisateurs de partager facilement le contenu du site Web avec des groupes Moments ou WeChat. Cependant, parfois, lorsque vous utilisez des systèmes de forum open source tels que Discuz, vous rencontrerez le problème de l'impossibilité d'afficher les partages WeChat, ce qui entraîne certaines difficultés pour l'expérience utilisateur.
