login  Naam:   Wachtwoord: 
Registreer je!
 Forum

UBB

Offline BigBug - 07/01/2007 14:45 (laatste wijziging 07/01/2007 14:45)
Avatar van BigBugPHP expert Ik zit een met wat lastiger probleem..

Ik wil deze tag gebruiken: [link][/link]
Deze wordt gebruikt op deze manier [link=url]naam link[/link]
Hoe kan ik zorgen dat deze juist wordt weergegeven?

Ook ben ik bezig met [code ] en [/code ].
Ik heb een highlighter gemaakt + regelnummering. Maar hoe zorg ik nu dat ik dat alles wat tussen [code ] en [/code ] wordt gehighlight? Wat er eigenlijk moet gebeuren is dat alles wat tussen [code ] en [/code ] staat in een string komt.. Maar hoe doe ik dat?  

Greetz, bug

12 antwoorden

Gesponsorde links
Offline svm - 07/01/2007 14:52 (laatste wijziging 07/01/2007 14:57)
Avatar van svm PHP ver gevorderde Link:
  1. <?
  2. $tekst = preg_replace('!\[link=(.*?)\](.*?)\[/link\]!', '<a href="\\1">\\2</a>', $tekst);
  3.  
  4. echo $tekst;
  5. ?>

[code] kun je hieruit herleiden.


@hieronder:
Graag gedaan, en succes .
Offline BigBug - 07/01/2007 14:55 (laatste wijziging 07/01/2007 15:39)
Avatar van BigBug PHP expert Bedankt, de linknaam werkt 

Ik ga nu met code klooien 

Edit: Code lukt me tot zover niet.. Volgensmij begrijp ik de regex wel aardig..
  1. $aOpgehaald = preg_replace('!\[code\](.*?)\[/code\]!', '\\1', $aOpgehaald);
Dit gebruik ik om te testen.. Maar ik zie gewoon alles terug dus met code tags erbij.. Terwijl die dan toch weg moeten zijn?
Offline Xtent - 07/01/2007 16:27 (laatste wijziging 07/01/2007 17:10)
Avatar van Xtent Onbekend @ BigBug
die code werkt hier gewoon....

Edit: Net nog maar is gekeken, en werkt totdat er meerdere regels zijn zo te zien ...

Zelf niet zo'n Regex expert dus duurt redelijk lang voordat ik erachter zal zijn....
Offline Ibrahim - 07/01/2007 17:15
Avatar van Ibrahim PHP expert http://www.regular-expressions.info/modifiers.html
Offline BigBug - 07/01/2007 17:19
Avatar van BigBug PHP expert Ik heb inmiddels een werkende gevonden..

Nu zit ik met twee bijkomende problemen..
http://www.devguru.nl/icms/index.php?p=5

-Je ziet dat het vak niet op z'n plek terug komt
-Je ziet dat het wordt weergegeven in de vorm van &amp;php ect. Het moet als source weergegeven worden.

Hoe doe ik dit?
De source is te zien op: http://www.pastebin.be/4986/
Offline Joel - 07/01/2007 17:29
Avatar van Joel Eigenaar http://www.plaatscode.be is van Sitemasters BigBug  
Offline BigBug - 07/01/2007 19:15
Avatar van BigBug PHP expert Pastebin is korter.. 

Ik begin nu echt problemen te krijgen met mijn geweldige *kuch* ideen. Het &amp; probleem ect is opgelost.. Dit kwam doordat htmlentities(); die rommel maakte..

Nu zijn er nog 2 problemen over
- Veiligheid van m'n script
- Plaats ->

Het probleem met de plaats is eigenlijk vrij makkelijk te omschrijven.

Stel je voor je hebt het onderstaande:
Tekst balblala bla bla ala
-CODE-
Tekst blablalaa al al al a

Als ik mijn preg_replace uitvoer met de PHP functie komt ie niet op de goede plek. Dit komt doordat de functie verkeerd staat... (bovenaan de pagina). Nu dacht ik... Ik maak een variabele en die laat ik dan echoeen waar het moet.. Maar dit kan natuurlijk ook niet -> Waar zet je dat neer bij iets dat uit de db komt.. Hoe los ik dus deze problemen op.
Offline timo - 07/01/2007 19:42
Avatar van timo PHP ver gevorderde ehm.. @Joël: pastebin.be en plaatscode.be is dezelfde source of niet dan.. alleen na de ruzie en alles wou murfy zijn pastebin zelf houden en moest er dus een alternatief komen;-)
Offline Ibrahim - 07/01/2007 19:52
Avatar van Ibrahim PHP expert eeh Biggie, heb jij nu htmlentities weggehaald ??

dan kan men gewoon dit uitvoeren op je site 
  1. <script>
  2. for(i = 0; i <= 100000000000; i++)
  3. {
  4. alert('Hoppa, een alertje :)');
  5. if(i == 9999999999)
  6. {
  7. alert('Je was er bijna');
  8. var i = 0;
  9. }
  10. }
  11. </script>
Offline BigBug - 07/01/2007 20:01
Avatar van BigBug PHP expert Dat weet ik Daarom vraag ik ook hoe je dat op kan lossen 
Offline Ibrahim - 07/01/2007 20:07
Avatar van Ibrahim PHP expert door htmlentities weer terug te zetten ?
Normaal leest een browser die content en maakt er gewoon van wat het moet voorstellen: &amp; => &
Offline Thomas - 08/01/2007 13:46
Avatar van Thomas Moderator [code]-blokken en de rest van je bericht (evt. met UBB) dienen apart behandeld te worden. Dit kun je met een parser doen, maar ook met een aantal preg_replaces achter elkaar.

Hoe deze laatste methode in zijn werk zou moeten gaan is al tig keer op dit forum verteld door mij.

Zoekt en gij zult vinden...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.202s