PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |
|

29-11-2002, 20:34
|
dazio
Newbie
|
|
Registriert seit: Feb 2002
Beiträge: 24
|
|
verbesserter BBCode, vor allem [CODE]
Hi. Ich habe heute mich ein wenig in reguläre Ausdrück eingearbeitet und auch BBCodes interpretiert, ähnlich wie es auch hier oder einem beliebigen anderen Burning Board funzt. Auch die Probleme mit dem BBCode [CODE] sind mir aufgefallen und ich habe probiert, es besser zu machen:
- andere BBCodes innerhalb von CODE werden nicht interpretiert
- URLs und E-Mail-Adressen werden innerhalb von CODE nicht verlinkt
- Smilies werden innerhalb von CODE nicht interpretiert
- Zeilen sind nummeriert
- Zeilen werden nicht umgebrochen. Die Seite wird trotzdem nicht verbreitert (dank IFrames)
- Mehrere Leerzeichen und Tabulatoren hintereinander werden entsprechend ausgegeben und nicht HTML-typisch zu einem Leerzeichen zusammengefasst.
Was ich überhaupt mit dem Thread will, ist Bugs finden und mit eurer Hilfe weitere Verbesserungen durchführen. Bei Interesse poste ich dann auch den etwas umfangreicheren Source Code.
Testen könnt ihr das ganze hier:
http://www.zocknews.com/readnews.php?id=1191
|

29-11-2002, 21:09
|
dazio
Newbie
|
|
Registriert seit: Feb 2002
Beiträge: 24
|
|
Ach ja, doppelte Backslashes sollten jetzt auch innerhalb von Code korrekt ausgegeben werden.
|

29-11-2002, 21:33
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Hab jetzt auf Anhieb irgendwie keinen Code gefunden.
|

29-11-2002, 21:57
|
dazio
Newbie
|
|
Registriert seit: Feb 2002
Beiträge: 24
|
|
Mit Code meinte ich den BBCode [CODE].
Hat jemand Interesse am Quellcode? Da lässt sich bestimmt einiges optimieren.
|

29-11-2002, 22:25
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Was soll man den sonst testen?
|

29-11-2002, 23:49
|
dazio
Newbie
|
|
Registriert seit: Feb 2002
Beiträge: 24
|
|
Muss ich diese Frage verstehen?
Egal, ich hab jetzt mal das Script angehangen. Zum selbst probieren einfach bbcode_n_smilies.inc.php includen und die Funtkion bbcode_n_smilies() aufrufen. Sie erwartet als ersten Parameter den Text und als zweiten eine ID. Das kann eine ganz normale Zahl sein die beim Auslesen z.B. von Kommentaren bei jedem Kommentar um eins erhöht wird.
Hier ein Beispiel:
Code:
...
include("bbcode_n_smilies.inc.php");
$i = -1;
while ($comment = mysql_fetch_array($com_handle)) {
$i++;
$comment[text] = bbcode_n_smilies($comment[text],$i);
// und jetzt noch das Ausgeben des Kommentares. Ihr wisst bestimmt wie das geht. ;)
}
...
Geändert von dazio (01-12-2002 um 16:24 Uhr)
|

30-11-2002, 00:09
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Das ist gut!
Du wolltest ja, dass wir dir bei Bugs bescheid sagen. Also brauchen wir ja den Code um welche zu finden.
Wenn der Code geprüft ist, würde ich mich freuen, wenn zu ihn in den Code-Snippets postest.
|

30-11-2002, 00:11
|
dazio
Newbie
|
|
Registriert seit: Feb 2002
Beiträge: 24
|
|
Klar, das hatte ich sowieso vor.
Ich habe übrigens noch etwas anderes verbessert. Dadurch dass alle BBCodes bei mir durch unterschiedliche HTML-Tags ersetzt werden, werden zum Beispiel [/color] und [/size] bei Überlappung nicht irrelevant, wie es hier im Forum ist:
[size=3] groß [color=red] groß und rot [/size] rot [/color]
wird zu:
groß groß und rot rot
Das liegt daran, dass [/color] und [/size] hier durch </font> ersetzt werden, wodurch eine Überlappung nicht möglich ist.
Und jetzt testet es mal hier. Ihr müsst aber [big] groß [color=red] groß und rot [/big] rot [/color] nehmen, da ich [size] durch [big] bzw. [small] ersetzt habe. Um hier und bei mir die gleichen Bedingungen zu nehmen, könnt ihr die Überlappung ja auch mit [font] und [color] testen.
Kleines Problem:
Im Moment müssen BBCodes bei mir klein geschrieben werden! Ich könnte zwar einfach beispielsweise color|COLOR in den regulären Ausdruck schreiben. Aber gibt es nicht auch eine Möglichkeit, dass Groß- und Kleinschreibung bei preg_replace (wie bei eregi_replace) keine Rolle spielt?
Geändert von dazio (30-11-2002 um 09:16 Uhr)
|

30-11-2002, 14:32
|
Titus
PHP Master
|
|
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
|
|
Zitat:
Original geschrieben von dazio
Kleines Problem:
Im Moment müssen BBCodes bei mir klein geschrieben werden! Ich könnte zwar einfach beispielsweise color|COLOR in den regulären Ausdruck schreiben. Aber gibt es nicht auch eine Möglichkeit, dass Groß- und Kleinschreibung bei preg_replace (wie bei eregi_replace) keine Rolle spielt?
|
jupp: Modifier i (PCRE_CASELESS)
Hab ich auch bei meiner Antwort in Trashar´s Thread benutzt.
__________________
mein Sport:  mein Frühstück:  meine Arbeit:
Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
|

30-11-2002, 14:42
|
dazio
Newbie
|
|
Registriert seit: Feb 2002
Beiträge: 24
|
|
Ups, das hatte ich teilweise schon drin, ohne zu wissen, was es bringt. 
Jetzt ist es bei allen Abfragen mit dabei. Aktualisiertes Script ist im Anhang.
Nächstes Problem:
Ich hab preg_replace jeweils so oft ausgeführt, wie der Code (Bsp. "[color=") gefunden wurde. Wenn ich es nur einmal aufrufe, werden nicht alle ersetzt. Muss das so sein?
Geändert von dazio (01-12-2002 um 16:24 Uhr)
|

30-11-2002, 14:54
|
Titus
PHP Master
|
|
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
|
|
Zitat:
Original geschrieben von dazio
Nächstes Problem:
Ich hab preg_replace jeweils so oft ausgeführt, wie der Code (Bsp. "[color=") gefunden wurde. Wenn ich es nur einmal aufrufe, werden nicht alle ersetzt. Muss das so sein?
|
Lies mal unter Regular Expression Functions (Perl-Compatible) > Pattern Syntax den Abschnitt über "Recursive patterns", das sollte Dir weiter helfen.
__________________
mein Sport:  mein Frühstück:  meine Arbeit:
Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
|

01-12-2002, 16:22
|
dazio
Newbie
|
|
Registriert seit: Feb 2002
Beiträge: 24
|
|
Sorry, dort steig ich gar nicht durch. Hab eben erst mit den regulären Ausdrücken angefangen. 
Kann mir jemand das was da steht auf den konkreten Fall übertragen?
Im Anhang die neuste Version. Ich hab nen Darstellungsfehler bei [code] behoben. Außerdem hab ich [nobb] hinzugefügt, da gibt es aber Konflikte in Kombination mit [code]. Da weiß ich momentan auch nicht weiter.
|

04-12-2002, 13:31
|
dazio
Newbie
|
|
Registriert seit: Feb 2002
Beiträge: 24
|
|
*hochschieb*
So, ich hab alles noch einmal überarbeitet, so dass es zumindest funktionieren sollte.
"Recursive patterns" habe ich nicht hinbekommen und [nobb] habe ich wieder entfernt, da es nur Probleme mit sich brachte und sowieso keinen Nutzen hat. Den gleichen Effekt kann man ja mit [code] erreichen.
Es sind auch neue Features enthalten (siehe readme.html). Die Dateien und diesmal auch eine Installationsanleitung (readme.html), eine Featureliste (readme.html) und die Bilder zu den Smilies habe ich gezippt und an diesen Beitrag angehängt.
Es wäre nett wenn es mal jemand ausprobiert, denn ich musste einige Dinge, die nur bei meiner Testseite funzn, entfernen oder umschreiben und bin mir nicht sicher ob es nun wirklich geht. 
Außerdem hoffe ich immer noch, dass sich mal jemand mit Ahnung den Code anschaut und ein wenig optimiert.
Weiter getestet werden kann natürlich hier:
http://www.zocknews.com/readnews.php?id=1191
Geändert von dazio (04-12-2002 um 13:34 Uhr)
|

30-03-2005, 08:23
|
Neumanns
Newbie
|
|
Registriert seit: Jul 2002
Beiträge: 3
|
|
Ich habe mal eine Frage:
Kann man diese Funtktion nicht noch um [ u r l ] erweitern?
|

30-03-2005, 08:33
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
bestimmt!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
Aktuelle PHP Scripte
Homepagetools 2022
Kostenloses Gästebuch und Homepagetools für die eigene Homepage.
Bei GuxDu kann man sich kostenlos die Websitetools auf die vorhandene Website einbauen. Zudem kann man bei GuxDU auch eine eigene Homepage mit 3D Effekten erstellen. GuxDu ist kostenlos.
29.04.2022
freepler | Kategorie: PHP/ Gaestebuch
|
SF-Shopsystem V1.0
Hier haben wir ein einzigartiges Shopsystem in PHP.
Die Anzahl der Artikel ist unbegrenzt, einfach zu bedienen und erklärt sich.
Ausführliche Beschreibung weiter unten.
28.04.2022
Speedcrawler | Kategorie: PHP/ Shops
|
Anzeigen Markt mit PayPal Bezahl System
Anzeigen Markt Script
mit PayPal Bezahl System
Der Benutzer hat die Möglichkeit sofort nach Bezahlung mit PayPal
seine Anzeigen zu schalten, je nach seinem Guthaben.
27.04.2022
Webace_de | Kategorie: PHP/ Anzeigenmarkt
|
Alle PHP Scripte anzeigen
|