Webprofis is een Forum waarin je vragen kunt stellen die webgerelateerd zijn. Heb je vragen over of problemen met je Webpagina, HTML, CSS, Javascript, PHP of andere client of serverside scriptingtalen? Stel ze dan gerust op dit forum.
Op dit forum zijn een aantal vrijwilligers actief die u graag met uw vragen willen helpen en u waar mogelijk een passend antwoord aanbieden.
Hebt u zelf veel ervaring en kennis met betrekking tot het bovenstaande? U bent van harte welkom om uw kennis met anderen te delen!
We hopen dat eenieder op dit Forum een leerzame ervaring mag opdoen.
Team Webprofis
We hopen dat eenieder op dit Forum een leerzame ervaring mag opdoen.
Team Webprofis
feedback code highlighting
Login of Registreer om te reageren.
Reacties
Het gaat meer om het uitlezen/afhandelen van de output, en ik ben bang dat dat een nog grote pijn in de k0nt gaat zijn voor het forum?
Je kunt zelf vast wel een paar preg_replaces in elkaar bouwen, maar die zijn vast weer verloren bij een update van het forum, of niet?
Je zult dan sowieso de oude tags moeten omgooien naar ubb tags in de db . (iets wat ik wel zou doen)
Ik zal eens met die BBcode gaan stoeien. Heb er geen ervaring mee tot dusverre maar wat je heirboven schrijft
[code = js]
//js code
[/code]
Dat is toch BBcode tags?
Je klikt in de editor op bv het php knoppie en dan verschijnt er [code=php][code](of whatever je wilt)-> let wel dat dit (zoals nu) omringt wordt door een selectie!
De lastigheid zit hem in het parsen van de juiste output, maar uiteindelijk is dat serverside niet meer dan
[code(*.?)] (*.?) [/code]
omgooien naar een pre of code class="jsvoorwaarde", en de rest is javascript voor de opmaak.
update,
die $str (het bericht uit je database) verder getest door bv htmlentities erin te zetten->probleemloos, die worden ook zo getoond.
Mijn opzetje getest met class="prettyprint" en google prettify eroplos gelaten en dat werkt ook zoals het hoort.
Gebruik je gewone html tags, dan wordt ie ook geouptut als html; zet je de html tags tussen [code][/code], dan wordt ie als codeblock behandeld. Dit is wat je bedoelt denk ik toch? Het enige is die backslashes die hij produceert bij de output voor en na submit; ff kijken hoe dat te verhelpen is
En in de editor moe tik alleen nog de gekleurde A's aanpassen
En nu wordt er nog altijd html geparst....(buiten de codeblokken)
Maar ik begrijp ook wel dat het onmogelijk is om terug te draaien omdat alle posts en reacties al zijn opgemaakt met html.
<code> tags
<button type="submit">Versturen</button>
En wil je het in een block:
Die rode achtergrondkleur is natuurlijk weg te halen bij de inline code
Enfin, dat is mijn mening maar sta open voor argumenten om het toch neit zo te doen...wat is meest logisch?
(edit de post even om de source te bekijken)
Maar alles terugdraaien is inderdaad onbegonnen werk!
Dan zou je echt letterlijk alles met de hand moeten veranderen omdat die html code's ook in codeblokken kunnen voorkomen en die wil je niet replacen met ubb.
Dus gewoon laten zoals het is, en bij je volgende developpers community met ubb werken ;-)
Alleen nog ff zorgen dat de color buttons andere tags genereren
En aangezien er op een developers forum nogal eens wat htmltags om de oren vliegen ;-)
<span>
intypt, zie je niets, dus hij output het als html. Weet neit hoe ik het zover krijg dat geen enkele html tag meer als html geoutput wordt maar letterlijk wordt weergegeven met angulars en alles.De enige manier wanneer het wel werkt is als ik HtmLawed uitschakel maar dan loop ik een XSS risico
Daarom ook altijd alles uitspugen als htmlentities, dat roep ik al jaren overal
Hier kun jij niets aan doen, dat is gewoon de core van dit forum.
De enige manier om dat te omzeilen is inderdaad de core in te gaan/aanpassen en bij een update opnieuw.
Geen idee wat die HtmLawed doet, als die voorkomt dat html geparst wordt, dan lijkt me die juist veiliger dan de huidige situatie..? Maar daarvoor moet ik wel exact weten wat die doet.
Maar ook de code als ie tussen de code tags staat, wat dus net NIET de bedoeling is
Dit is de HtmLawed (bijlage)
Hier is wat meer info over de plugin: https://github.com/vanilla/htmlawed (plugin)
http://www.bioinformatics.org/phplabware/internal_utilities/htmLawed/htmLawed_README.htm#s2.2
MAAR..., van wat ik er in de vluchte van begrijp, is dat je zonder die plugin juist g????n html kunt laten parsen.
Die plugin maakt het i.m.h.o mogelijk om juist WEL bepaalde html elementen te kunnen typen/parsen.
Dus zonder die plugin is het beter, maar moet je nog altijd die [ code ] blokken replacen.
Maar stel dat dat kan, dan heb je er nog geen bal aan, want wat gebeurd er als je een element toelaat, en je plaatst in dat element een andere toegestaan element.....lap gelijk heel je codeblok om zeep.
Dus gewoon g????n html toestaan ;-)
edit:
php executen en html toestaan zijn twee verschillende dingen (die in uber geval van achterlijkheid ook mogelijk kunnen zijn)
Als je (alle) html toestaat, dan kan ik je cookie of sessie ID kapen middels javascript en zo jouw status overnemen. (in geval van een goeie hacker dan)
Makkelijk om zooi in de db te vinden.
Makkelijker om een regex aan te passen versus een hele database aan te passen
Veiliger
etc...alleen maar voordelen!
Maar ik zit nu ff te denken aan de ander html tags die ook uitgevoerd moeten worden: de kleurtjes,de bold, italic en del in de editor. Dan nog de inline images met
<img>
tags en hoe gaat een en ander werken met de preview? Doet die de html tags uitvoeren? Er moeten vlg mij dan vele uitzonderingen op gemaakt worden toch?Kijk NU staan er allemaal html tags in de database, voor de bold, underlines, etc ,etc.
Ook de code blokken staan vol met html tags.
Dus als je nu alle posts gaat replacen naar ubb, dan gebeurd dat OOK in de codeblokken, en in de tutorials en in de ...OVERAL.
<
en>
te vervangen door<
en>
Als ik het zover krijg dat de angulars na submit als < en > opgeslagen worden in de DB ben ik toch ver genoeg? heb net even getest en in de DB de angulars veranderd in< en > en dan krijg ik een mooie angular terug als output
Ook omtrent de code blok zijn er veel opties.
Wat ook een voordeel is, je geeft aan bij downloaden wat je wel en niet wilt waardoor je script geminimaliseerd blijft.
Maar is maar een voorstel, ben niet zoon JS freak hihihi...