UBB parse script zonder gedoe

Door Dick oo, 12 jaar geleden, 8.317x bekeken

Een uitgebreide UBB parser die heel makkelijk in gebruik is:

Je gebruikt 'm zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
makeUBB($geg['bericht']);

Het is verstandig om dit inclusief met een database te gebruiken aangezien je geen PHP code in een string krijgt enzovoort ;)

Voorbeeld:
Zo gaat ie erin: http://vuvan.vu.funpic.org/code.txt
Zo gaat ie eruit: http://vuvan.vu.funpic.org/high.php

Opbouwende kritiek is wederom zeer welkom! Negatieve reacties laat ik links liggen ;)

Ideeën die ik hier nog meer in kan zetten zie ik graag tegemoet!

Smilies zijn voor de beginnende gebruiker ook makkelijk toe te voegen.
Helaas ontstaat er een probleem als je in je PHP script te lange regels hebt, dan gaat er iets fout met de regelnummers, maarja daar wist niemand een antwoord op in het forum :/

Alle functies tot nu toe:
HTML verbieden
PHP higlight met regelnummers (!)
Enters omzetten naar <br />
Quotes (ook quote in quote) [quote][/quote] & [quote=..][/quote]
Automatische links en emails > klikbaar
Links [url][/url] & [url=...]bla[/url]
Email [email][/email] & [email=..]bla[/email]
Cursieve tekst [i][/i]
Vetgedrukte tekst [b][/b]
Onderstreepte tekst [u][/u]
Doorgestreepte tekst [s][/s]
Afbeeldingen [img][/img]
Gekleurde tekst [color=..][/color]
Tekstgrootte [size=..][/size]
Blinkende tekst [blink][/blink]
Bewegende tekst [marquee][/marquee] & [marquee=..][/marquee]
Links uitlijnen [left][/left]
Rechts uitlijnen [right][/right]
Centreren [center][center]
Superscript [sup][/sup]
Subscript [sub][/sub]
Allcaps [ac][/ac]
Smallcaps [sc][/sc]
Grote tekst [big][/big]
Kleine tekst [small][/small]
Youtube filmpjes [youtube][/youtube]
Typemachine tekst [tt][/tt]
Smilies :)

Voorbeeld: http://vuvan.vu.funpic.org/high.php

Gesponsorde koppelingen

PHP script bestanden

  1. ubb-parse-script-zonder-gedoe

 

Er zijn 26 reacties op 'Ubb parse script zonder gedoe'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen


12 jaar geleden
 
0 +1 -0 -1
Ziet er netjes uit. Let wel even op dat je bij de [url]-tags style="text-decoration: none;" er nog in heb zitten. Kan zijn dat dit ongewenst is ;-)
Victor Php
Victor Php
12 jaar geleden
 
0 +1 -0 -1
Ziet er inderdaad netjes uit!
Voorbeeldje handig, maar ik zie dat die binnenkort komt...
Richard van Velzen
Richard van Velzen
12 jaar geleden
 
0 +1 -0 -1
Zonder gedoe, dus ook zonder beveiliging tegen allerhande soorten injecties. Gezellig.
Dick oo
dick oo
12 jaar geleden
 
0 +1 -0 -1
God, doe alsjeblieft niet zo bijdehand.
Als je nou ook even iets post hoe het WEL moet qua beveiliging,
dan alle scripts hier zitten af te katten.
Richard van Velzen
Richard van Velzen
12 jaar geleden
 
0 +1 -0 -1
Dankje, maar ik heet Richard.

En nee, ik ga dat niet allemaal weer opnoemen, dat heb ik al vaak genoeg gedaan. Kijk naar *echte* UBB-parsers en zie hoe het daarin wordt gedaan, *daar* leer je van. Niet van een halfbakken makkelijk te hacken ding.
Karl Karl
Karl Karl
12 jaar geleden
 
0 +1 -0 -1
Waarom werk je met i, b, en u tags?
Dat kan sowieso met strong. em en css.
Misschien kan je die css tags ook wat in elkaar stoppen, want volgens mij krijg je nu allemaal span tags.
Ook vind ie niet leuk als je [color=red][b][u][i][url=... doet.
En ook wel jammer dat je niet even http:// d'r voor zet.


12 jaar geleden
 
0 +1 -0 -1
Moet zeggen dat ik het eens ben met Richard. Als je een simpele BBParser nodig hebt, kun je deze gebruiken. Als je er eentje nodig hebt waar écht over is nagedacht, zou ik toch die van Richard kiezen...
Midas
Midas
12 jaar geleden
 
0 +1 -0 -1
@Chris,
Eerst ziet het er netjes uit en daarna ben je het ineens met Richard eens?
Remie
remie
12 jaar geleden
 
0 +1 -0 -1
Je zou natuurlijk ook die van Richard kunnen pakken en dan in 1 functie dezelfde tags neer kunnen gooien dat je en een veilige ubb parser hebt en een ubb parser zonder gedoe :).
Rene Sn
Rene Sn
12 jaar geleden
 
0 +1 -0 -1
@Vietnam 't ziet er mooi en overzichterlijk uit, en is zeker een leuk begin voor iemand die er mee bezig wil... Elk voorbeeld / script is er een. Het is tevens een goed voorbeeld wat je zoal kunt doen met preg_replace etc. Voor de beginners.

Grts.
René
Robert Deiman
Robert Deiman
12 jaar geleden
 
0 +1 -0 -1
Het ziet er wel netjes uit inderdaad, maar er zitten wat beveiligingsfoutjes in. Helaas is alleen niet iedereen zo goed als hij dat is.

Het zou wel heel netjes zijn om even aan te geven waar in de code de problemen zitten, en wat er dan niet goed aan is. Daar kan iemand tenminste wat mee, nu moet hij het zelf maar gaan uitzoeken, terwijl het overgrote deel van zijn code prima in orde is.

Sterker nog: Hij schrijft niets naar een database, en SQL injectie is dus al niet mogelijk. Nu moet hij nog zorgen dat JS hacks niet gedaan kunnen worden, maar dat zou ook eenvoudig op te lossen moeten zijn.

Wanneer iemand met een database werkt is het aan hem/ haar om daar de juiste beveiliging overheen te gooien.


12 jaar geleden
 
0 +1 -0 -1
@Midas: Het ziet er ook op zich wel netjes uit, beginners kunnen hier echt wel wat van leren qua regex-en e.d. Maar er zitten wel een paar kleine foutjes in. Zowel schoonheidsfoutjes (Waarom " gebruiken als je ook ' kan gebruiken?) als veiligheidsrisico's. In je img, url-tag kun je heel gemakkelijk javascript uitvoeren. Bij andere tags kun je quotes gebruiken om er vervolgens je eigen shit aan te voeren.

Ik zal kijken of ik hem vandaag/vanmiddag online ken zetten, inclusief een paar voorbeelden ;-) Op die manier kun je zelf een bbtag invoeren :)
Jelmer -
Jelmer -
12 jaar geleden
 
0 +1 -0 -1
Ik zit nu nog even te proberen om dan ook effectief voor elkaar te krijgen om javascript uit te voeren, maar die htmlspecialchars bovenaan maakt het al vrij lastig.

Je kan wel je hele HTML door elkaar gooien (ook niet leuk) door urls in urls in urls te zetten (op te lossen door wat selectiever te zijn dan (.+)) maar het lukt mij niet om succesvol attributen of tags toe te voegen.

Iemand een proof of concept?
Dick oo
dick oo
12 jaar geleden
 
0 +1 -0 -1
@Karl,
hij zet er wel degelijk http:// voor MITS je het zelf niet doet..

& de rest
Die UBB parser van Richard vond ik gewoon veeeeeeeeeeeeel te lang, ik jat zelf geen complete scripts om ze daarna te gaan verbeteren of wat dan ook. Zelf scripten vind ik veel leuker, daar leer je tenminste wat van.
Toby hinloopen
toby hinloopen
12 jaar geleden
 
0 +1 -0 -1
>)

&lt;)

&lt<img src="wink.gif" alt=";)" title=";)"/>

foutieve HTML

parser afgekeurd.

rare naam eigenlijk

"Make UBB"

Je maakt HTML op basis van BBcode. Dan zou ik "bbcode2html" nemen o.i.d.
Ivo K
Ivo K
12 jaar geleden
 
0 +1 -0 -1
Quote:
& de rest
Die UBB parser van Richard vond ik gewoon veeeeeeeeeeeeel te lang, ik jat zelf geen complete scripts om ze daarna te gaan verbeteren of wat dan ook. Zelf scripten vind ik veel leuker, daar leer je tenminste wat van.


Dan moet je ook willen kijken naar dat veeeeeeeeeeel te lange script. Als je dat goed doorkijkt dan zul je waarschijnlijk veel kunnen leren en met die info kan je je eigen script verbeteren, totdat het in de buurt komt van dat script, wat gewoon dikke ownage is als je het mij vraagt :-)
Roel -
Roel -
12 jaar geleden
 
0 +1 -0 -1
Leuk script, ik hoef maar http://www.site.nl/pagina.php te doen en die pagina wordt op jouw server uitgevoerd, niet handig dus.
Boris Mattijssen
Boris Mattijssen
12 jaar geleden
 
0 +1 -0 -1
@Hoithebest: en dan? Je include die pagina toch niet ofzo?
Ivo K
Ivo K
12 jaar geleden
 
0 +1 -0 -1
Quote:
@Hoithebest: en dan? Je include die pagina toch niet ofzo?

Volgens mij wordt de pagina wel degelijk bezocht en dus uitgevoerd dan, maar ik weet het niet zeker.
Thomas
thomas
12 jaar geleden
 
0 +1 -0 -1
@Hoithebest
er gebeur niks. je krijgt een velde met een rood kruis erin.
zoiets als van afbeelding niet gevonden
Roel -
Roel -
12 jaar geleden
 
0 +1 -0 -1
Ja maar dan is de pagina al ingeladen door de server.
Karl Karl
Karl Karl
12 jaar geleden
 
0 +1 -0 -1
De php wordt niet uitgevoerd op de server.
Maakt niet uit dus.
Thomas
thomas
12 jaar geleden
 
0 +1 -0 -1
@hoithebest
Ik heb het gecontroleerd met een test bestandje die ervoor zorgt dat de db.
wordt geleegd. er gebeurt niks. dus de php wordt niet uitgevoerd.
Dick oo
dick oo
12 jaar geleden
 
0 +1 -0 -1
@toby hinloopen,
sorry hoor maar wat een domme reactie.
wat bout het mij nou welke naam ik mijn functie neem?
ik doe misschien wel vwo, maar ik ga niet een perfecte naam zoeken als ik gewoon snel een naam wil hebben
Cornel van der Heiden
Cornel van der Heiden
12 jaar geleden
 
0 +1 -0 -1
Kijk, je kunt nu wel gaan zeuren over beveiliging enzo, maar je leert er wel wat van. En dat geruzie hier is ook niet al te opbouwend ofzo...
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
 
0 +1 -1 -1
Script ziet er mooi uit!
Het is een kort script en alles wat ik nodig heb zit erin.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. ubb-parse-script-zonder-gedoe

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.