Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] 2 kleine Fragen zum Baeutifier (https://www.delphipraxis.net/42511-%5Bphp%5D-2-kleine-fragen-zum-baeutifier.html)

Die Muhkuh 20. Mär 2005 09:45


[PHP] 2 kleine Fragen zum Baeutifier
 
Hi,

ich bin mal wieder im rumprobieren. Da hier in der DP ja der Beautifier (ich schätze mal 10% original Code ist noch übrig :mrgreen: ) verwendet wird, dachte das ich den auch mal probiere.

Erstmal Quellcode und dann fragen:

Code:
<?
  if (isset($_POST['text']))
  {
    require_once('Beautifier/Init.php');
    global $BEAUT_PATH;
    require_once "$BEAUT_PATH/HFile/HFile_delphi.php";
    require_once "$BEAUT_PATH/Output/Output_HTML.php";
   
    $highlighter = new Core(new HFile_delphi(), new Output_HTML());
   
    print nl2br($highlighter->highlight_text($text));
  }
?>
Soweit alles richtig (hoffe ich...).

Meine Fragen:

1. Wie schaffe ich es, das auch Leerzeichen wieder angezeigt werden?
Der macht aus:

Delphi-Quellcode:
for I := 0 to 2 do
begin
  ShowMessage(IntToStr(I));
  I := I * 2;
  ShowMessage(IntToStr(I));
end;

// Daraus wird:

for I := 0 to 2 do
begin
ShowMessage(IntToStr(I));
I := I * 2;
ShowMessage(IntToStr(I));
end;
Sieht ein bisschen an den Rand geklebt aus (bei längeren Quelltexten ist das kack)

2. Muss ich Zeilennummern von Hand dazu setzen, oder kann ich die mit generieren lassen?

Die Muhkuh 20. Mär 2005 10:19

Re: [PHP] 2 kleine Fragen zum Baeutifier
 
Ok,

das mit den Zeilennummern hat sich erledigt. Ich mache die von Hand. Aber das mit den Leerzeichen, bleibt immernoch.

S2B 20. Mär 2005 11:06

Re: [PHP] 2 kleine Fragen zum Baeutifier
 
Zitat:

Zitat von Spider
1. Wie schaffe ich es, das auch Leerzeichen wieder angezeigt werden?
Der macht aus:

Delphi-Quellcode:
for I := 0 to 2 do
begin
  ShowMessage(IntToStr(I));
  I := I * 2;
  ShowMessage(IntToStr(I));
end;

// Daraus wird:

for I := 0 to 2 do
begin
ShowMessage(IntToStr(I));
I := I * 2;
ShowMessage(IntToStr(I));
end;
Sieht ein bisschen an den Rand geklebt aus (bei längeren Quelltexten ist das kack)

Du musst (z.B. per str_replace) zwei Leerzeichen durch ein und ein Leerzeichen ersetzen lassen:
Code:
$text = str_replace(' ',' ',$text);
So ging es zumindest bei mir gestern, als ich nen kleinen Delphi-Highlighter geproggt habe. :stupid:

Die Muhkuh 20. Mär 2005 11:24

Re: [PHP] 2 kleine Fragen zum Baeutifier
 
Hi,

ne, das geht acuh nicht.

Dann zeig er an:

begin
test;
end;

S2B 20. Mär 2005 12:18

Re: [PHP] 2 kleine Fragen zum Baeutifier
 
Zitat:

Zitat von Spider
Hi,

ne, das geht acuh nicht.

Dann zeig er an:

begin
test;
end;

Dann führst du nach dem str_replace() ein htmlspecialchars() oder ähnliches aus. :wink:

Die Muhkuh 20. Mär 2005 13:02

Re: [PHP] 2 kleine Fragen zum Baeutifier
 
So jetzt gehts.

Ich musste mit str_replace das ersetzen und beim ausgeben wieder html_entity_decode machen^^.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz