php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.04.2005, 12:00  
Gast
 
Beiträge: n/a
Standard Zeilenumbrüche in BBCodes ersetzen...

Hallo,

ich hab' da ein Problem.

Ich bastele derzeit an einem kleinen CMS herum. Dieses verwendet Templates, in die der User den Text für die jeweilige Webseite eingeben kann. Es gibt zusätzlich eine BBCode-Funktionalität, die bestimmte Zeichenfolgen in HTML-Tags umwandelt. So wird aus [b] z.B. [b].


Mein Problem ist jetzt folgendes: Momentan wird der komplette Inhalt eines Templates geparst und dort jedes "\r\n" durch ein "
" ersetzt, so dass Zeilenumbrüche entstehen.
Der Haken an der Sache ist, dass diese dann natürlich auch zwischen den HTML-Tags eingebunden werden. Und das zerstört mir das Layout.

Wie kann ich Zeilenumbrüche erzeugen, die sich NICHT auf die HTML-Tags auswirken?
Mein Ansatz wäre folgender: Die Variable, die die Templateinfo enthält wird nach den Codes [text] und [/text] durchsucht. Alles was dazwischen steht, kriegt den Zeilenumbruch. Der Rest nicht.
Oder aber man sucht nach HTML-Tags (bspw. über < und >) und klammert das von den Umbrüchen aus.

Mein Problem ist. Ich habe keine Ahnung wie ich das machen soll, bzw. wie meine Funktion geändert werden müsste.

Hier mal die Funktion:


PHP-Code:
<?php
function Makros ($var_ersetzung)
  {
    
$var_datenbank "macro";
    
$var_sql "SELECT code, quelltext FROM $var_datenbank";
    
$var_ergebnis mysql_query ($var_sql$_SESSION ["var_link"]) or die ($var_sql " erzeugte folgenden Fehler: " mysql_error () );

    while (
$var_datensatz mysql_fetch_assoc ($var_ergebnis) )
    {
      
$var_ersetzung str_replace ($var_datensatz ["code"], $var_datensatz ["quelltext"], $var_ersetzung);
    }
    
$var_ersetzung str_replace ("\n""
"
$var_ersetzung);
    return 
$var_ersetzung;
  }
?>
Wäre toll, wenn mir da irgendjemand weiterhelfen könnte.

Gruß
Feyladil
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.04.2005, 12:06  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

öhm allgemein solltets du dir vieleicht mal ein BB-code-tutorial oder quelltext aus dem phpbb, smf, oder sonst einem system anschauen, weil str_repalce ist ja schonmal etwas begrenzt, normalerweise macht man das mit regex und preg_replace_all und in den sources von den systemen findest du wohl alles was du braucht auch um html und BB-codes zu mischen.

noch was kleines nicht markantes aber von der logik her wäre hier:

PHP-Code:
<?
    $var_datenbank 
"macro";
    
$var_sql "SELECT code, quelltext FROM $var_datenbank"
?>
anstatt $var_datenbank eigentlich $var_tabelle logischer, weils ned die DB ist sondern die tabelle die hinter FROM steht.

mfg
robo47
robo47 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
String durchsuchen und ersetzen unabhängig von Groß / KLein PHP Tipps 2006 2 09.07.2006 23:29
geschachtelten array sortieren, enter ersetzen und umlaute moose PHP Tipps 2006 5 20.04.2006 12:24
String ersetzen Benshee PHP Tipps 2006 4 02.04.2006 21:43
Problem mit der preg_replace - Ersetzen einer Zeichenkette reimondo PHP Tipps 2006 10 07.02.2006 22:36
RegExp alles mit nichts ersetzen was nicht ... cytrobic PHP Tipps 2007 5 23.12.2005 17:12
Anführungszeichen ersetzen PHP Tipps 2005-2 6 28.09.2005 20:39
reguläres ersetzen skaterboy PHP-Fortgeschrittene 5 07.09.2005 10:57
BBcodes PHP Tipps 2005-2 6 10.07.2005 12:04
unbekannten teilstring mit anfang/end-markierung ersetzen janni PHP Tipps 2005 14 29.04.2005 14:53
regulärer Ausdruck zum dynamischen ersetzen in einem templat robo47 PHP Tipps 2004 3 02.11.2004 08:25
Strings in mehreren Dateien ersetzen! HSFighter Off-Topic Diskussionen 15 20.10.2004 13:58
[Erledigt] includ. Text ersetzen ohne vars PHP Tipps 2004 3 13.09.2004 23:16
templatesystem - variables ersetzen konsti PHP-Fortgeschrittene 6 07.08.2004 10:56
[Erledigt] RegExp: Dynamisches Ersetzen PHP-Fortgeschrittene 5 23.07.2004 13:39
Reguläre Ausdrücke beim suchen und ersetzen Off-Topic Diskussionen 5 05.07.2004 15:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
\bb codes\ zeilenumbruch, zeilenumbruch bbcode, zeilenumbruch bb codes, bbcode /n ersetzen, bbcode ersetzen php, bbcodes nicht bei zeilenumbruch

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.