login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[code] probleem...

Offline timo - 17/04/2006 15:52
Avatar van timoPHP ver gevorderde ik wil (laatste functie die ik nu kan bedenke die k nog niet heb) dus een code functie erbij maken in me ubb class... maar als ik deze wil highlighten (dmv. highlight_string()) word de tekst meteen geechoot...
hier me code:
  1. function codeparse($input)
  2. {
  3. return preg_replace("!\[code\].*?\[\/code\]!si",'<div style="background-color: #cccccc;">'.highlight_string(stripslashes('\\1')).'</div>',$input);
  4. //return $this->input;
  5. }

ik krijg nu een div met de background #cccccc waar die hoort met een 1 erin, en bovenaan staat er een 1... als ik stripslashes weglaat komt er een warning over een \:s

11 antwoorden

Gesponsorde links
Offline Richard - 17/04/2006 16:11
Avatar van Richard Crew algemeen PHP.net: highlight_string:

mixed highlight_string ( string str [, bool return] )

zet de 2e parameter op true, en het komt goed.
Offline Thomas - 17/04/2006 16:12
Avatar van Thomas Moderator highlight_string heeft een 2e parameter die aangeeft of het resultaat als string gertourneerd moet worden, of dat er meteen iets afgedrukt moet worden...
Offline timo - 17/04/2006 17:23
Avatar van timo PHP ver gevorderde nu dit:
  1. <?
  2. ?>

output= een te grote div met background #cccccc met een 1 erin, laat ik stripslashes weg is dit de error:
Citaat:
Warning: Unexpected character in input: '' (ASCII=92) state=1 in C:apachefriendsxampphtdocscmsincludesubb_class.inc.php on line 15
Offline kokx - 17/04/2006 17:24
Avatar van kokx Onbekend Als je de 2e parameter op true zet, wordt er ook nl2br over de string gedaan.
Offline timo - 17/04/2006 17:26 (laatste wijziging 17/04/2006 17:26)
Avatar van timo PHP ver gevorderde @kokx... dat is niet waar.. (werkt in ieder gvl niet bij mij...)
Offline Simon - 17/04/2006 17:33
Avatar van Simon PHP expert
  1. '.highlight_string(stripslashes(.'\\1'.),true).'


zo?
Offline timo - 17/04/2006 17:39
Avatar van timo PHP ver gevorderde
Citaat:
Parse error: parse error, expecting `')'' in C:apachefriendsxampphtdocscmsincludesubb_class.inc.php on line 15
Offline kokx - 17/04/2006 17:43 (laatste wijziging 17/04/2006 17:43)
Avatar van kokx Onbekend Zo?
  1. <?php
  2. function codeparse($input)
  3. {
  4. return preg_replace("!\[code\].*?\[\/code\]!si","<div style=\"background-color: #cccccc;\">highlight_string(stripslashes('\\1'))</div>",$input);
  5. //return $this->input;
  6. }
  7. ?>

Offline timo - 17/04/2006 17:44
Avatar van timo PHP ver gevorderde output: highlight_string(stripslashes(''))
Offline kokx - 17/04/2006 17:46 (laatste wijziging 17/04/2006 17:53)
Avatar van kokx Onbekend Maak eens een nieuwe functie die de highlight_string en de div bij elkaar doet. En dan de functie zo:
  1. Zal toch niet werken.


Edit: Ik denk dat het zo moet werken:
  1. <?php
  2. function codeparse($input)
  3. {
  4. return preg_replace("!\[code\](.*?)\[\/code\]!esi","<div style=\"background-color: #cccccc;\">highlight_string(stripslashes('\\1'), true)</div>",$input);
  5. //return $this->input;
  6. }
  7. ?>
Offline timo - 17/04/2006 18:06
Avatar van timo PHP ver gevorderde opgelost dankzij kokx via msn, (het was een class voor wie dat nog niet wist:p) en hier het eindresultaat wat werkte:
  1. <?
  2. function codeparse($input)
  3. {
  4. return preg_replace("!\[code\](.*?)\[\/code\]!esi",
  5. "\$this->parse_code_extra('\\1')",$input);
  6. }
  7. function parse_code_extra($code)
  8. {
  9. return "<div style=\"background-color: #cccccc; font-size: 12px;\">". highlight_string(stripslashes($code), true) ."</div>";
  10. }
  11. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.236s