Seite 1 von 2

[quote="Autor"] wird nicht mehr geparst

Verfasst: 29.09.2005 12:23
von Krain
Hallo zusammen,

Ich hoffe in diesem Forum hier bin ich richtig.
Und zwar wird auf meinem Webspace der BBCode [quote="Autor"] nicht mehr richtig geparst. Der normale [quote]-Tag wird richtig geparst und auch dargestellt, doch sobald ein Autor dazu angegeben wird, funktioniert es nicht mehr.

Ich habe mir mal den Code durchgelesen und bin denk ich auf die Zeile gestoßen, die den Fehler verursacht:

Aus: ./includes/bbcode.php

Code: Alles auswählen

function bbencode_second_pass_code($text, $uid, $bbcode_tpl)
{
	global $lang;

	$code_start_html = $bbcode_tpl['code_open'];
	$code_end_html =  $bbcode_tpl['code_close'];

	// First, do all the 1st-level matches. These need an htmlspecialchars() run,
	// so they have to be handled differently.
#In folgender Zeile wird der eingegebene Text einfach übersprungen, ohne dass das Tag [quote="Autor"] beachtet wird
	$match_count = preg_match_all("#\[code:1:$uid\](.*?)\[/code:1:$uid\]#si", $text, $matches);

	for ($i = 0; $i < $match_count; $i++)
	{
		$before_replace = $matches[1][$i];
		$after_replace = $matches[1][$i];

		// Replace 2 spaces with "&nbsp; " so non-tabbed code indents without making huge long lines.
		$after_replace = str_replace("  ", "&nbsp; ", $after_replace);
		// now Replace 2 spaces with " &nbsp;" to catch odd #s of spaces.
		$after_replace = str_replace("  ", " &nbsp;", $after_replace);

		// Replace tabs with "&nbsp; &nbsp;" so tabbed code indents sorta right without making huge long lines.
		$after_replace = str_replace("\t", "&nbsp; &nbsp;", $after_replace);

		// now Replace space occurring at the beginning of a line
		$after_replace = preg_replace("/^ {1}/m", '&nbsp;', $after_replace);

		$str_to_match = "[code:1:$uid]" . $before_replace . "[/code:1:$uid]";

		$replacement = $code_start_html;
		$replacement .= $after_replace;
		$replacement .= $code_end_html;

		$text = str_replace($str_to_match, $replacement, $text);
	}

	// Now, do all the non-first-level matches. These are simple.
	$text = str_replace("[code:$uid]", $code_start_html, $text);
	$text = str_replace("[/code:$uid]", $code_end_html, $text);

	return $text;

} // bbencode_second_pass_code()
Komischerweise funktioniert es auf meiner lokalen Testumgebung einwandfrei. Kann mir dabei jemand weiterhelfen?

Danke

Krain

Verfasst: 29.09.2005 14:28
von Krain
Ich habe jetzt nochmal sichergestellt, dass sowohl auf meinem lokalen Testserver als auch auf meiner Internetpräsenz auch wirklich die selben Source liegen. Aber trotzdem tritt dieser Fehler auf.

Ich habe in die viewtopic.php eine Ausgabe gesetzt, und zwar wie folgt:

Code: Alles auswählen

	//
	// Parse message and/or sig for BBCode if reqd
	//
	if ( $board_config['allow_bbcode'] )
	{
		if ( $user_sig != '' && $user_sig_bbcode_uid != '' )
		{
			$user_sig = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($user_sig, $user_sig_bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $user_sig);
		}

		if ( $bbcode_uid != '' )
		{
                        echo $message."<br />";
			$message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
                        echo $message."<br />";
		}
	}
Auf meinem lokalen System ist die zweite Ausgabe immer korrekt umgewandelt. Auf meiner Internetpräsenz wird das quote nicht geparst, woran kann das liegen? Ich bin langsam am verzweifeln.

Verfasst: 29.09.2005 18:06
von Krain
hat keiner eine ahnung, woran es ungefähr liegen könnte?

Ich habe jetzt einen neuen Ansatz: Bei mir auf dem Testserver wird das quote mit einer $uid in die DB geschreiben:

[quote:b72262204e="Autor"]

Auf der Internetpräsenz wird lediglich [quote="Autor"] reingeschrieben.

Könnte der Fehler also irgendwo in der posting.php liegen?

Bitte bitte helft mir etwas auf die Sprünge, ich flippe hier bald aus.

Verfasst: 30.09.2005 16:02
von Krain
Ich habe einen weiteren Test gemacht und auf meinem Webspace ein völig jungfräuliches Board hochgezogen und dort mal das quoten getestet. Leider mit dem selben Ergebnis.

Kann das Problem an meinem Webspace und den Server- bzw. PHP-Einstellungen liegen?

Verfasst: 01.10.2005 16:58
von Krain
Zur Hilfe habe ich mal eine phpinfo() auf den Webspace hochgespielt die vielleicht bei der Analyse helfen könnte.

Abrufbar unter: phpinfo

Ich wäre euch wirklich sehr dankbar, wenn ihr mir weiterhelfen könntet, ich kann den Fehler nicht finden.

Gruss

Krain

Re: [quote="Autor"] wird nicht mehr geparst

Verfasst: 01.10.2005 17:50
von mad-manne
Krain hat geschrieben:Und zwar wird auf meinem Webspace der BBCode {quote="Autor"} nicht mehr richtig geparst. Der normale {quote}-Tag wird richtig geparst und auch dargestellt, doch sobald ein Autor dazu angegeben wird, funktioniert es nicht mehr.
Hab' jetzt nicht das gesamte Thema durchgelesen, deshalb diese kurze Frage:
Hat es denn jemals funktioniert, und falls JA ... nach welchen Änderungen hat sich das Problem eingestellt?

Fragt sich (und dich),
Manne.

Re: [quote="Autor"] wird nicht mehr geparst

Verfasst: 01.10.2005 18:43
von Krain
mad-manne hat geschrieben:Hab' jetzt nicht das gesamte Thema durchgelesen, deshalb diese kurze Frage:
Hat es denn jemals funktioniert, und falls JA ... nach welchen Änderungen hat sich das Problem eingestellt?

Fragt sich (und dich),
Manne.
Nein, es hat nie funktioniert. Wie oben erwähnt habe ich auch versucht ein komplett jungfräuliches phpBB zu installieren. Auch bei diesem Board trat der Fehler auf.

Ich habe das Problem jetzt vorläufig so gelöst, dass bei der Ausgabe auch quote Tags ohne eine $uid geparst werden. Damit ist das Problem erstmal erschlagen, wenn auch nicht wirklich gelöst, da die Posts ja eigentlich falsch in die DB geschrieben werden

Gruß

Krain

Verfasst: 03.10.2005 11:06
von Krain
So wie es aussieht ist dieses Problem wohl noch bei niemandem aufgetreten?
Dann muss ich mich wohl erstmal mit meiner Lösung zufrieden geben.

Gruß

Krain

Verfasst: 03.10.2005 11:44
von mad-manne
funktionieren denn alle anderen BB-Codes?

Hast du mal 'nen Link zu deinem Board? (wenn du's nicht öffentlich machen willst gerne auch per PN)

Gruss,
Manne.

P.S. Einen Testaccount mit Posting-Rechten in mindestens einem Forum bräuchte ich dann latürnich auch :wink;

Verfasst: 03.10.2005 12:39
von Krain
mad-manne hat geschrieben:funktionieren denn alle anderen BB-Codes?

Hast du mal 'nen Link zu deinem Board? (wenn du's nicht öffentlich machen willst gerne auch per PN)

Gruss,
Manne.

P.S. Einen Testaccount mit Posting-Rechten in mindestens einem Forum bräuchte ich dann latürnich auch :wink;
Wie oben erwähnt, habe ich das Problem von der Ausgabeseite her umgangen. Das Forum ist hier: Donnerhuf
Die PhpInfo findest du hier, falls es dir hilft:
Donnerhuf

Einen Testaccount brauchst du nicht, da im Forum "Fragen an den Donnerhufstamm" jeder posten darf.
Soll ich meine Änderungen mal wieder entfernen, damit du siehst, dass es nicht geht?


Übrigens Danke für dein Interesse an meinem Problem.