BBCode [php] - Leerzeilen am anfang/ende vermeiden?

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
KoSSo
Mitglied
Beiträge: 170
Registriert: 21.11.2002 22:24

BBCode [php] - Leerzeilen am anfang/ende vermeiden?

Beitrag von KoSSo »

Hi,
ich habe den [php]-bbcode in mein board eingebaut leider habe ich damit ein kleines problem und zwar wird am anfang und am ende jeweils eine leerzeile hinzugefügt.

Hat irgendjemand eine idee wie man das verhindern kann?

Grüße KoSSo
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag von D@ve »

:-?

???

Wie hast Du das denn eingebaut? Das ist doch schon drin?

Gruß, Dave
There are only 10 types of people in the world: Those who understand binary, and those who don't
KoSSo
Mitglied
Beiträge: 170
Registriert: 21.11.2002 22:24

Beitrag von KoSSo »

Lies mal den Beitrag das was du meinst ist der

Code: Alles auswählen

-bbcode..... [php]-bbcode = PHP Syntax Highlighter

KoSSo
KoSSo
Mitglied
Beiträge: 170
Registriert: 21.11.2002 22:24

Beitrag von KoSSo »

Niemand ne idee wie ich die leerzeilen wegbekommen kann?????? :cry:

Ich habe schon versucht die \n bei diesem teil zu entfernen (bei dem rot markierten):
function bbencode_second_pass_php($text, $uid, $bbcode_tpl)
{
global $lang;

$html_entities_match = array("#<#", "#>#");
$html_entities_replace = array("<", ">");

$code_start_html = $bbcode_tpl['php_open'];
$code_end_html = $bbcode_tpl['php_close'];

// First, do all the 1st-level matches. These need an htmlspecialchars() run,
// so they have to be handled differently.
$match_count = preg_match_all("#\[php:1:$uid\](.*?)\[/php:1:$uid\]#si", $text, $matches);

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

$after_replace = preg_replace($html_entities_match, $html_entities_replace, $after_replace);

// 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);

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

$replacement = $code_start_html;
$after_replace = str_replace('<', '<', $after_replace);
$after_replace = str_replace('>', '>', $after_replace);
if (substr($after_replace, 0, 2) != '<?' && strpos($after_replace, '<?') == FALSE)
{
$after_replace = "<?\n$after_replace\n?>";
$added = TRUE;
}
ob_start();
highlight_string($after_replace);
$after_replace = ob_get_contents();
ob_end_clean();
$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("[php:$uid]", $code_start_html, $text);
$text = str_replace("[/php:$uid]", $code_end_html, $text);
$text = str_replace('&nbsp;', '&nbsp;', $text);
$text = str_replace('&</font><font color="#0000CC">nbsp</font><font color="#006600">;', '&nbsp;', $text);
$text = str_replace('&</font><font color="#0000BB">nbsp</font><font color="#007700">;', '&nbsp;', $text);

if ($added)
{
$text = str_replace('<?<br />', '', $text);
$text = str_replace('?>', '', $text);
}

return $text;

} // bbencode_second_pass_php()
aber das hat auch nichts gebracht :(

KoSSo
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag von D@ve »

Mit \n Fügst Du zwar in die von php generierte html-Datei einen Zeilenumbruch ein, aber nicht in dem was auf dem Bildschirm angezeigt wird, das geht nur mi </ br>.
Ich weiss nicht was das für Formatierungen sind, aber schau mal was das für css-Klassen sind, vielleicht sind da irgendwelche Einträge (margin-top, margin-bottom) die das verursachen.

Kann man das mal irgendwo "live" sehen?

Gruß, Dave
There are only 10 types of people in the world: Those who understand binary, and those who don't
Walter65
Mitglied
Beiträge: 27
Registriert: 20.03.2007 14:17

Zusätzliche Leerzeilen bei Verwendung von bbCodes

Beitrag von Walter65 »

Hallo zusammen,

ich habe das gleiche "Problem":
Es stört mich, dass bei Verwendung z.B. des bbCodes
  • immer zusätzliche Leerzeilen eingefügt werden, die ich gar nicht eingegeben habe.

    Wie bzw. wo kann man das abstellen?

    Vielen Dank im Voraus für "sachdienliche Hinweise"! :wink:

    Walter65
Walter65
Mitglied
Beiträge: 27
Registriert: 20.03.2007 14:17

Beitrag von Walter65 »

Schieb! :D
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“