Wat is de logica van deze ubb parser?

Pagina: 1
Acties:

  • Engineer
  • Registratie: Juni 2001
  • Laatst online: 04-05 00:03
Ik heb al gesearcht maar daar had ik geen oplossing gevonden,
dus het word eens tijd dat die vraag ook in de search staat ;)

Ubb parsertje erbij:
PHP:
1
2
3
4
5
<?
$bericht = preg_replace ("/\\[b\]((.|\n)*?)\\[\/b\]/i", "<b>\\1</b>",$bericht);
$bericht = preg_replace ("/\\[i\]((.|\i)*?)\\[\/i\]/i", "<i>\\1</i>",$bericht);
$bericht = preg_replace ("/\\[u\]((.|\n)*?)\\[\/u\]/i", "<u>\\1</u>",$bericht);
?>

En nu de vraag:
Ik zie een hoop slashes en af en toe een ubb string er tussen door, maar wat is hier de logica nou van? :)

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 10:08
Dan moet je regexes leren :7
http://www.php.net/manual/en/ref.regex.php

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

oeps, verkeerd gelezen

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Alles wat tussen [ ] staat (u,b,i) word vervangen door < > (ubi) </ > (ubi)

Simpel :)

  • Engineer
  • Registratie: Juni 2001
  • Laatst online: 04-05 00:03
Op maandag 24 september 2001 16:40 schreef Nielsz het volgende:
Alles wat tussen [ ] staat (u,b,i) word vervangen door < > (ubi) </ > (ubi)

Simpel :)
En als je dan bijv. de rev functie wilt toepassen?
Word het dan
PHP:
1
2
3
<?
$bericht = preg_replace ("/\\[rev\]((.|\n)*?)\\[\/rev\]/i",rev(1)",$bericht);
?>

oid? :)

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
oid ja :P

  • Thunder
  • Registratie: Maart 2000
  • Niet online
Op maandag 24 september 2001 16:40 schreef Nielsz het volgende:
Alles wat tussen [ ] staat (u,b,i) word vervangen door < > (ubi) </ > (ubi)

Simpel :)
Als ik je goed bgerijp (Zal wel niet :P) dan kun je dus gewoon HTML gebruiken alleen dan met [] ipv <> ?
Maar dan kan je nog steeds 'leuke' luitjes krijgen die

[marquee]Blaaaaaaaaaaaaaaaaaat

[/marquee] doen :?

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Nee want je hebt aangegevendat het alleen bij u b i kan.

* Nielsz is bezig mensen regexps te leren. Waar gaat het heen met de wereld ;)

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
de term ubb-parser vind ik een klein beetje overdreven hoor :P

maar kijk eens op phpfreakz, daar is wel een geinig artikeltje te vinden over (simpele) regexen..

  • Thunder
  • Registratie: Maart 2000
  • Niet online
Op maandag 24 september 2001 16:50 schreef Nielsz het volgende:
Nee want je hebt aangegevendat het alleen bij u b i kan.

* Nielsz is bezig mensen regexps te leren. Waar gaat het heen met de wereld ;)
Ow naja whatever }:O
* Thunder is nog (Beetje :? :D) n00b op gebied van PHP

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op maandag 24 september 2001 16:52 schreef Thunder het volgende:

[..]

Ow naja whatever }:O
* Thunder is nog (Beetje :? :D) n00b op gebied van PHP
Ik wordt strax uitgelachen waarschijnljk: "Nielsz wat ben jij aan het doen? Je snapt het zelf nog niet eens Whuahahahaha" :P

Verwijderd

Ik zou zeggen kijk eens hier , hier, hier , hier of hier of bestel er hier of daar een leuk boekwerkje over, en als je het lief vraagd kan ik je ook nog wel wat pdfje met uitleg mailen.. :Y)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op maandag 24 september 2001 16:53 schreef Nielsz het volgende:

[..]

Ik wordt strax uitgelachen waarschijnljk: "Nielsz wat ben jij aan het doen? Je snapt het zelf nog niet eens Whuahahahaha" :P
<ot>
:X
</ot>


http://www.phpfreakz.nl/library.php?sid=444
http://www.phpfreakz.nl/forum.php?q=regex&forum=0

Doet iets met Cloud (MS/IBM)


Verwijderd

Op maandag 24 september 2001 16:44 schreef hdd het volgende:
En als je dan bijv. de rev functie wilt toepassen?
Word het dan
PHP:
1
2
3
<?
$bericht = preg_replace ("/\\[rev\]((.|\n)*?)\\[\/rev\]/i",rev(1)",$bericht);
?>

oid? :)
Dat meot je zo doen:
PHP:
1
2
3
<?
$bericht = preg_replace("/\\[rev\]((.|\n)*?)\\[\/rev\]/Uise", "rev('\\1')", $bericht);
?>

Volgens mij, vraag me niet wat al die modifiers precies inhouden, ik weet ze zo allemaal niet precies uit m'n hoofd. Maar dit zou wel moeten werken...

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
Op maandag 24 september 2001 17:19 schreef Zef het volgende:
Volgens mij, vraag me niet wat al die modifiers precies inhouden, ik weet ze zo allemaal niet precies uit m'n hoofd. Maar dit zou wel moeten werken...
U = ungreedy
i = caseInsensetivity
s = term weer ik niet, maar het zorgt ervoor dat (.*) ook newlines meepakt
e = eval, zorgt ervoor dat je rev() functie word uitgevoerd..

als dit niet klopt, verbeter me maar :)

Verwijderd

ok, het gaat dus om die 'e' ;) :P

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 13:51

Janoz

Moderator Devschuur®

!litemod

Op maandag 24 september 2001 16:56 schreef D2k het volgende:

[..]

<ot>
:X
</ot>


http://www.phpfreakz.nl/library.php?sid=444
http://www.phpfreakz.nl/forum.php?q=regex&forum=0
Owhnee .. geen phpfreakz...
1 - het artikel over regexpen klopt voor geen meter (kijk eens bij de reacties).. Als ze gaan beweren dat a (1x een a) niet matcht op aa (2x een a) dan zoek ik snel een bakje..
2 - Die ubbcode die bij de library gegeven wordt (bovenste link van D2k) is ook lekker. Ik hoop dat ik binnenkort een site tegenkom die dat gebruikt.. Ga ik een bericht posten met alleen [quote] of [url=hoi] erin (zonder sluit tags dus)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

[quote]
Op maandag 24 september 2001 17:37 schreef Janoz het volgende:

[..]

Owhnee .. geen phpfreakz...
1 - het artikel over regexpen klopt voor geen meter (kijk eens bij de reacties).. Als ze gaan beweren dat a (1x een a) niet matcht op aa (2x een a) dan zoek ik snel een bakje..
2 - Die ubbcode die bij de library gegeven wordt (bovenste link van D2k) is ook lekker. Ik hoop dat ik binnenkort een site tegenkom die dat gebruikt.. Ga ik een bericht posten met alleen
of [url=hoi] erin (zonder sluit tags dus)
Hey, geen phpfreakz bashing! Ze zijn voor de beginners erg handig, ook al is niet alles volledig accuraat.

/me is het helemaal met Janoz eens :o

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 13:51

Janoz

Moderator Devschuur®

!litemod

Op maandag 24 september 2001 17:44 schreef Zef het volgende:

[..]

Hey, geen phpfreakz bashing! Ze zijn voor de beginners erg handig, ook al is niet alles volledig accuraat.
Het grootste probleem dat ik met phpfreakz heb is het feit dat bv dat artikel al (meer dan?) een jaar oud is, en dat het weghalen van reacties waarin op die fouten gewezen werd de enige veranderingen zijn geweest. Zijn ze soms te arrogant om fouten toe te geven??

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Op maandag 24 september 2001 17:52 schreef Janoz het volgende:

[..]

Het grootste probleem dat ik met phpfreakz heb is het feit dat bv dat artikel al (meer dan?) een jaar oud is, en dat het weghalen van reacties waarin op die fouten gewezen werd de enige veranderingen zijn geweest. Zijn ze soms te arrogant om fouten toe te geven??
Ik moet eerlijk toegeven dat dat ik ooit een artikel voor die club heb geschreven (over stijl in programmeren), en dat werd me toch even afgekraakt, maar goed in veel opzichten klopte het commentaar ook wel (mierenneukers :+ )

/me geeft altijd direct toe

  • Engineer
  • Registratie: Juni 2001
  • Laatst online: 04-05 00:03
En hoe kan ik iets als [img border=1]http://bla/bla.gif[/img] maken? :)

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Op maandag 24 september 2001 17:44 schreef Zef het volgende:

[..]

Hey, geen phpfreakz bashing! Ze zijn voor de beginners erg handig, ook al is niet alles volledig accuraat.
Inderdaad.

Maar dat artikel over regexps klopt voor geen ene meter. Echt niet. Ga het maar naast een goed artikel leggen. Dan snap je er helemaal nix meer van.

Dan een maand niet aan regexps denken, dan een goed artikel lezen, en dan snap je het.

Verder is phpfreakz errug handig.

  • Engineer
  • Registratie: Juni 2001
  • Laatst online: 04-05 00:03
Op maandag 24 september 2001 18:36 schreef hdd het volgende:
En hoe kan ik iets als [img border=1]http://bla/bla.gif[/img] maken? :)

Verwijderd

beetje creatief zijn ;)
PHP:
1
2
3
<?
$bericht = preg_replace("/\[img border=(.+?)\](.+?)\\[\/img\]/i", "[img]\"\\2\"[/img]", $bericht);
?>

Verwijderd

Janoz: Owhnee .. geen phpfreakz...
1 - het artikel over regexpen klopt voor geen meter (kijk eens bij de reacties).. Als ze gaan beweren dat a (1x een a) niet matcht op aa (2x een a) dan zoek ik snel een bakje..
Als het commentaar weer weggehaald wordt zet Regexbot(tm) het er gewoon weer bij, net als de vorige keer. ;)
Pagina: 1