login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Probleem met ubb code

Offline webmaker - 21/12/2006 14:45 (laatste wijziging 21/12/2006 14:47)
Avatar van webmakerPHP interesse Ik heb het volgende probleem, als ik met str_replace werk om mijn ubb code te krijgen hij vervangt in onderstaande code
  1. [b]test[/b]
niet door <b>test</b>. Hoe kan ik dat doen zodanig dat hij dit toch doet?  
  1. <?php
  2. $ubb = htmlspecialchars($ubb);
  3. $ubb = str_replace("[/b]", "<b>", $ubb);
  4. $ubb = str_replace("[/b]", "</b>", $ubb);
  5. $ubb = str_replace("[u]", "<u>", $ubb);
  6. $ubb = str_replace("[/u]", "</u>", $ubb);
  7. $ubb = str_replace("[i]", "<i>", $ubb);
  8. $ubb = str_replace("[/i]", "</i>", $ubb);
  9. ?>

4 antwoorden

Gesponsorde links
Offline Mad_Mike - 21/12/2006 14:51 (laatste wijziging 21/12/2006 14:52)
Avatar van Mad_Mike PHP beginner
  1. $ubb = str_replace("[/b]", "<b>", $ubb);
  2. $ubb = str_replace("[/b]", "</b>", $ubb);

Gaat niet werken he


  1. $ubb = str_replace("[b]", "<b>", $ubb);
  2. $ubb = str_replace("[/b]", "</b>", $ubb);

Zo wel... Je had 2x [/b]
Offline webmaker - 21/12/2006 14:58 (laatste wijziging 21/12/2006 14:59)
Avatar van webmaker PHP interesse Hij vervangt het nog steeds niet hoor, als je
  1. [b]test[/b]
doet zet hij het letterlijk over zonder het vet te zetten. Wat doe ik toch verkeerd ik heb dat regeltje aangepast? Ik weet niet of het een invloed heeft maar dit staat wel in een appart bestand dat met een include wordt herkend in het ander bestand.  
  1. <?php
  2. $ubb = htmlspecialchars($ubb);
  3. $ubb = str_replace("[b]", "<b>", $ubb);
  4. $ubb = str_replace("[/b]", "</b>", $ubb);
  5. $ubb = str_replace("[u]", "<u>", $ubb);
  6. $ubb = str_replace("[/u]", "</u>", $ubb);
  7. $ubb = str_replace("[i]", "<i>", $ubb);
  8. $ubb = str_replace("[/i]", "</i>", $ubb);
  9. ?>
Offline Warbringer - 21/12/2006 15:01
Avatar van Warbringer Onbekend forum software werkt ook met een ge-include bestand dus het zou volgens mijn gewoon moeten werken lol.
Maar hij vervangt niks van hij maakt er wel <b></b> van maar weergeeft het niet vet, of hij laat het gewoon als staan?
Offline timmie_loots - 21/12/2006 15:25 (laatste wijziging 21/12/2006 15:26)
Avatar van timmie_loots PHP gevorderde Je moet niet met str_replace werken, is je layout te makkelijk te verneuken. Je moet het zo doen:

  1. <?php
  2. $ubb = htmlspecialchars($ubb);
  3.  
  4. // Dit zijn de replaces voor bold, underlined en italic
  5. $ubb = preg_replace("/\[b\](.*)\[\/b\]/i", "<b>$1</b>", $ubb);
  6. $ubb = preg_replace("/\[u\](.*)\[\/u\]/i", "<u>$1</u>", $ubb);
  7. $ubb = preg_replace("/\[i\](.*)\[/i\]/i", "<i>$1</i>", $ubb);
  8.  
  9. // En zo kun je ze een linkje laten plaatsen (met linknaam)
  10. $ubb = preg_replace("/\[url=(.*)\](.*)\[\/url\]/i", "<a href='$1'>$2</a>", $ubb);
  11. // En zo een linkje zonder linknaam.
  12. $ubb = preg_replace("/\[url\](.*)\[\/url\]/i", "<a href='$1'>$1</a>", $ubb);
  13.  
  14. echo $ubb;
  15. ?>


Ik hoop dat het zo een beetje duidelijk is, voor meer info zie preg_replace()

EDIT: Een paar schoonheidsfoutjes eruit.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.232s