php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.01.2012, 10:00  
Erfahrener Benutzer
 
Registriert seit: 15.08.2011
Beiträge: 104
PHP-Kenntnisse:
Anfänger
maikh befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] bbcode parser für li, ul und tabellen

Guten Morgen liebe Gemeinde,

Ich bin gerade dabei ein kleines CMS zu basteln.
Habe mich dafür entschieden einen WYSIWYG-Editor zu verwenden. Dieser nutzt BBCode. Allerdings fehlen im Parser die Regeln für Listen und Tabellen.
Hat da jemand eine idee oder einen Tipp wie ich die Regeln dafür anlegen kann?
Ich poste mal ein Stück von den schon bestehenden Regeln.

PHP-Code:
var $bbcodes = array(
            
'b' => '/(\[[Bb]\])(.+?)(\[\/[Bb]\])/s',
            
'i' => '/(\[[Ii]\])(.+?)(\[\/[Ii]\])/s',
            
'u' => '/(\[[Uu]\])(.+?)(\[\/[Uu]\])/s',
            
's' => '/(\[[Ss]\])(.+?)(\[\/[Ss]\])/s',... 
PHP-Code:
var $htmlcodes = array(
            
'b' => '<b>\\2</b>',
            
'i' => '<i>\\2</i>',
            
'u' => '<u>\\2</u>',
            
's' => '<strike>\\2</strike>'.... 
Hab jetzt auch schon ein bissl mit Google gesprochen, versteh es allerdings nicht wirklich, weil ja in einem "<ul>" Tag weitere "<li>" Tags sein können.

Ich wäre sehr dankbar für eure Hilfe.
Gruß Maik
__________________
http://www.polygona.de
maikh ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.01.2012, 10:02  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 1.141
PHP-Kenntnisse:
Anfänger
hausl wird schon bald berühmt werdenhausl wird schon bald berühmt werden
Standard

Ev. hilft der das hier - ev. kannst das gesamte parsen auf diese Klasse hier "auslagern". Ansonsten kannst im der Klasse mal schauen, wie der das gelöst hat.

http://www.christian-seiler.de/projekte/php/bbcode/

LG
__________________
Keine Zahl != ein Zeichen das keine Zahl ist
hausl ist offline   Mit Zitat antworten
Alt 18.01.2012, 10:06  
Erfahrener Benutzer
 
Registriert seit: 15.08.2011
Beiträge: 104
PHP-Kenntnisse:
Anfänger
maikh befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank, auf der Seite bin ich auch gerade hängen geblieben.
Meine Klasse ist ja soweit fertig. Parsen und alles was dazu gehört funzt halt schon. Habe dafür in CakePHP einen Helper. Mir fehlen halt nur diese Codeschnipsel wie bbcode für listen und tabellen in html umgewandelt werden soll.
__________________
http://www.polygona.de
maikh ist offline   Mit Zitat antworten
Alt 18.01.2012, 10:09  
Erfahrener Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 606
Connar befindet sich auf einem aufstrebenden Ast
Standard

Naja, du könntest es nach dem gleichen Muster fortsetzen, kenn ich auch von anderswo. z.B. so:

PHP-Code:
var $bbcodes = array(
            
's' => '/(\[[Ss]\])(.+?)(\[\/[Ss]\])/s',
            
'table' => '/(\[[Tt][Aa][Bb][Ll][Ee]\])(.+?)(\[\/[Tt][Aa][Bb][Ll][Ee]\])/s',
            
'tr' => '/(\[[Tt][Rr]\])(.+?)(\[\/[Tt][Rr]\])/s',
            
'td' =>  '/(\[[Tt][Dd]\])(.+?)(\[\/[Tt][Dd]\])/s',

var 
$htmlcodes = array(
            
's' => '<strike>\\2</strike>',
            
'table' => '<table>\\2</table>',
            
'tr' => '<tr>\\2</tr>',
            
'td' => '<td>\\2</td>'
Für Listen kannst du es entweder genauso machen, oder du sagst, dass die einzelnen Aufzählungspunkte nur bis zum Zeilenende gehen (startend mit *, weil ich das so kenne ^^):

PHP-Code:
var $bbcodes = array(
            
'ul' => '/(\[[Uu][Ll]\])(.+?)(\[\/[Uu][Ll]\])/s',
            
'li' => '/(\[\*\])(.+?)\n/s',

var 
$htmlcodes = array(
            
'ul' => '<ul>\\2</ul>',
            
'li' => '<li>\\2</li>'
Aber da kommt es halt auch einfach drauf an, was du alles mit drin haben willst ..


MFG Connar
Connar ist offline   Mit Zitat antworten
Alt 18.01.2012, 10:14  
Erfahrener Benutzer
 
Registriert seit: 15.08.2011
Beiträge: 104
PHP-Kenntnisse:
Anfänger
maikh befindet sich auf einem aufstrebenden Ast
Standard

Das sieht doch sehr gut aus.
Ehrlich gesagt versteh ich noch nicht so richtig was dieses WirrWarr in => ' ... ' eigenltich macht/bedeuted.
Ich werds aber gleich mal probieren.

Vielen Dank Connar.
__________________
http://www.polygona.de
maikh ist offline   Mit Zitat antworten
Alt 18.01.2012, 10:18  
Erfahrener Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 606
Connar befindet sich auf einem aufstrebenden Ast
Standard

Das Wirrwarr sucht nach den folgenden Zeichen:

Code:
[table]...[/table]
[tr]...[/tr]
[td]...[/td]
[ul]...[/ul]
[*]
Und ersetzt sie mit den HTML-Pendants.


MFG Connar
Connar ist offline   Mit Zitat antworten
Alt 18.01.2012, 10:20  
Erfahrener Benutzer
 
Registriert seit: 15.08.2011
Beiträge: 104
PHP-Kenntnisse:
Anfänger
maikh befindet sich auf einem aufstrebenden Ast
Standard

Ja, das mir schon klar. Aber wie ich das definiere hab ich noch nicht so wirklich kapiert. Diese Regex-Regeln mein ich (glaube das heißt so) Hab das in meinem PHP-Selbstbeibringkurs nur mal kurz angerissen bei z.B. Email-validierung etc.
__________________
http://www.polygona.de
maikh ist offline   Mit Zitat antworten
Alt 18.01.2012, 10:21  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 1.141
PHP-Kenntnisse:
Anfänger
hausl wird schon bald berühmt werdenhausl wird schon bald berühmt werden
Standard

Zitat:
Zitat von maikh Beitrag anzeigen
Ehrlich gesagt versteh ich noch nicht so richtig was dieses WirrWarr in => ' ... ' eigenltich macht/bedeuted.
Reguläre Ausdrucke, ich find die Seite hier ganz gut: http://regexp-evaluator.de/tutorial/

LG
__________________
Keine Zahl != ein Zeichen das keine Zahl ist
hausl ist offline   Mit Zitat antworten
Alt 18.01.2012, 10:25  
Erfahrener Benutzer
 
Registriert seit: 15.08.2011
Beiträge: 104
PHP-Kenntnisse:
Anfänger
maikh befindet sich auf einem aufstrebenden Ast
Standard

Hey danke... das werde ich mir dann gleich mal ins Köpfchen pressen.
@connar... listen laufen schonmal... Danke nochmal
__________________
http://www.polygona.de
maikh ist offline   Mit Zitat antworten
Alt 18.01.2012, 10:55  
meikel
Gast
 
Beiträge: n/a
Standard

Tolles Zeuch.

http://pecl.php.net/package/bbcode
http://php.net/bbcode

Onlinebeispiel:
http://mod.php.developer.vc/bbcode-1/ Quelltext wird angezeigt
  Mit Zitat antworten
Antwort


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
[Erledigt] Suche zwischen 2 Tabellen larabad PHP Einsteiger 11 30.03.2011 11:59
Daten aus 2 Tabellen ausgeben und sortieren moprhoyz Datenbanken 1 06.03.2011 22:29
[Erledigt] 2 Tabellen abgleichen und Inhalte übernehmen... Abweichler PHP Tipps 2010 3 29.07.2010 20:23
leere Tabellen löschen TobiasH Datenbanken 12 14.06.2010 16:08
Tabellen mittels Formular erzeugen Basti2o1o PHP Tipps 2010 13 05.05.2010 15:05
Mehrer Tabellen aus Datenbank auslesen? Blade JavaScript, Ajax und mehr 5 17.11.2009 16:08
[Erledigt] Mehrere MySQL Tabellen mit PHP abfragen DonMuchacho Datenbanken 7 27.07.2009 19:47
Tabellen miteinander verknüpfen Suzi Datenbanken 12 27.05.2009 11:40
[Erledigt] Eigener BBCode mit mehreren Optionen - Fehler Arego PHP Tipps 2009 8 09.03.2009 18:00
[Erledigt] Limit auf Ergebnissumme mehrerer Tabellen Frank Datenbanken 8 02.09.2008 11:33
Tabellen für Vokabeltrainer anlegen... anonym01 PHP Tipps 2008 9 03.03.2008 21:18
BBCode Parser Mutatos PHP Tipps 2006 1 05.01.2006 12:19
BBCode - Listen und Tabellen inu PHP Tipps 2005 11 22.03.2005 10:37
[Erledigt] Selectanfrage an eine Datenbank,aber aus mehreren Tabellen Datenbanken 2 26.10.2004 07:23

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
bbcode parse [*] <li>, bbcode php <ul>, bbcode mit tabellen php, cms bbcode, bbcode parser php, bbcode php ul, li parser, php bbcode li ul, ul li parsen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:56 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