login  Naam:   Wachtwoord: 
Registreer je!
 Forum

code tags

Offline stijnhau - 30/04/2007 16:12
Avatar van stijnhauOnbekend hallo

ik heb code tags gemaakt enkel zijn ze niet helemaal goed.
ze geven voor iedere lijn een <br>(niet te lezen maar uitgevoerd)
het gaat pas fout al hij er de kleuren over zet eerde werkte het nog als het moest.
  1. function kleurphp($code) {
  2.  
  3. $code = str_replace(" &lt;?", "&lt;?", $code);
  4. $code = str_replace('\\"', '\"', $code);
  5. $code = str_replace("&lt;", "<", $code);
  6. $code = str_replace("&gt;", ">", $code);
  7. $code = str_replace("&quot;", "\"", $code);
  8. $code = str_replace("&amp;", "&", $code);
  9. $code = trim($code);
  10. $code = ob_get_contents();
  11. $output = "<table border='0' width='375' cellspacing='0' cellpadding='0' align='center' bgcolor=#F8F8F8 style='border: solid 1px #000000'>";
  12. $output .="<tr><td colspan='3' style='padding-left: 5'><small><u>Code:</u></small></td></tr>";
  13. $output .="<tr><td valign='top' width='7%' style='padding-left: 5'><font color='cccccc'>";
  14.  
  15. $regels = explode("<br />", $code);
  16.  
  17. for($i=1; $i <= count($regels); $i++){
  18. $output .= $i . "<br>";
  19. }
  20.  
  21. $output .="</font></td><td align='left' valign='top' width='93%' colspan='2'>". $code ."</td></tr></table>";
  22.  
  23.  
  24. return $output;
  25.  
  26. }

11 antwoorden

Gesponsorde links
Offline delta_004 - 30/04/2007 16:18
Avatar van delta_004 Onbekend Duidelijk AUB?
Offline stijnhau - 30/04/2007 17:08
Avatar van stijnhau Onbekend dat al ik $ code echo dat hij goed is tot waneer hij die kleuren doet.
dan zet hij voor idere lijn een enter.
Offline timmie_loots - 01/05/2007 00:24
Avatar van timmie_loots PHP gevorderde Anders doe je $code = highlight_string($code, true); en niet die omslachtige manier met de output buffer.
Offline stijnhau - 01/05/2007 09:16 (laatste wijziging 01/05/2007 21:38)
Avatar van stijnhau Onbekend nu werkt hij en hij is safe.
het ebnkte probleem is dat hij alle code in regel 1 zet en dan regel 2 tot en met de laatse(hang van het geposte script af) leeg is.
  1. function phphighlite_replace($code){
  2. $code = str_replace(" &lt;?", "&lt;?", $code);
  3. $code = str_replace('\\"', '\"', $code);
  4. $code = str_replace("&lt;", "<", $code);
  5. $code = str_replace("&gt;", ">", $code);
  6. $code = str_replace("&quot;", "\"", $code);
  7. $code = str_replace("&amp;", "&", $code);
  8. $code = str_replace("<br />", "", $code);
  9. $code = str_replace("print <<<ENDHTML ", "print <<<ENDHTML", $code);
  10. $code = trim($code);
  11.  
  12. if(empty($code)) {
  13. return "[code]
";
} else {
array_push($GLOBALS['phphighlite'], $code);
return "
  1. ".(count($GLOBALS['phphighlite'])-1)."
";
}
}

function phphighlite($id, $site){
$code = $GLOBALS['phphighlite'][$id];
$splitted = explode("\n", $code);
$grootte = count($splitted)+1;

ob_start();
highlight_string($code);
$buffer = ob_get_contents();
ob_end_clean();
$splitted2 = explode("\n", $buffer);
$return = "<table border='0' width='375' cellspacing='0' cellpadding='0' align='center' bgcolor=#F8F8F8 style='border: solid 1px #000000'>
<tr><td colspan='2' style='padding-left:5; background-color:#333333; color:#FFFFFF; width:375;'><small><u>Code:</u></small></td></tr>";
$i = 1;
while($i<$grootte) {
$return .= "<tr><td width='3%' style='padding-left: 5; background-color:#333333; color:#FFFFFF;'>";
$return .= $i;

$return .="</td><td align='left' width='97%'>".$splitted2[$i]."</td></tr>";
$i++;
}
$return .="</table>";
return $return;
}[/code]
Offline Ibrahim - 01/05/2007 22:08 (laatste wijziging 01/05/2007 22:10)
Avatar van Ibrahim PHP expert
  1. $code = str_replace(" &lt;?", "&lt;?", $code);
  2. $code = str_replace('\\"', '\"', $code);
  3. $code = str_replace("&lt;", "<", $code);
  4. $code = str_replace("&gt;", ">", $code);
  5. $code = str_replace("&quot;", "\"", $code);
  6. $code = str_replace("&amp;", "&", $code);


html_entity_decode(), trim() en addslashes, ooit van gehoord ?

en is niet slim om dit te doen, want zo kan iemand gewoon JS uitvoeren
Offline santacrack - 01/05/2007 22:15
Avatar van santacrack Nieuw lid als je een <br /> wilt kan je de functie nl2br gebruiken
Offline stijnhau - 02/05/2007 17:01
Avatar van stijnhau Onbekend alles staat op meerdere lijne maar wel bij nummer 1
Offline ikkedikke - 02/05/2007 20:47
Avatar van ikkedikke PHP expert volgens mij klopt er iets helemaaaal niet in die ubbfunctie:
eerst is over het geheel htmlentities heen gehaald, en vervolgens wil je dat bij de codes ongedaan maken ?
Offline JBke - 02/05/2007 21:04
Avatar van JBke PHP gevorderde Snap je UBB bedoeling ook niet echt maar ga eens op zoek er zijn zoveel mooie en goede UBB classes terug te vinden op het net persoonlijk gebruik ik deze zeer uitgebreide Class:

http://phphulp.nl/php/scripts/4/966/

Grtz.
Offline stijnhau - 02/05/2007 21:14
Avatar van stijnhau Onbekend opgelost.
moest bij de laatse eclode niet de \ n doen mar wel <br />
Offline Ibrahim - 02/05/2007 21:22
Avatar van Ibrahim PHP expert @JBke:

de maker van die class weet blijkbaar niet dat preg_replace arrays toestaat...?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.224s