Avatar billede dr.truti Nybegynder
12. februar 2004 - 13:08 Der er 6 kommentarer og
2 løsninger

Fjern start og slut linie?

På min hjemmeside har jeg nogle php og C/C++ kildekoder liggende, som jeg highlighter med php's highlight syntax. Men for at C/C++ koderne bliver highlightet er jeg nødtil at tilføje php's start (<?php) og slut (?>) tag til dem, det kommer til at se lidt grimt ud på siden:
http://www.truti.com/index.php?center=lan_c_cpp.php

Jeg har forsøgt at fjerne start og slut tagget fra outputet, men lige meget hvad jeg gør funker det ikke...

Nogle ideér?
Avatar billede muddi Praktikant
12. februar 2004 - 13:13 #1
Avatar billede dr.truti Nybegynder
12. februar 2004 - 13:22 #2
Jeg har highlightet mine kilder, det er bare <?php og ?> jeg gerne vil have fjernet fra mine C/C++ kilder!
Avatar billede apache999 Nybegynder
12. februar 2004 - 13:34 #3
Nu ved jeg ikke lige, hvad det er for en funktion, du bruger til at highligte syntax, men du kan jo bruge eregi_replace til at fjerne <?php og ?> fra strengen inden du printer den ud. Nedenstående løsning kræver selvfølgelig at strengene "<?php" & "?>" ikke af en eller anden grund ikke optræder i koden.

$foo = eregi_replace("?>","",eregi_replace("<?php","",$foo));
Avatar billede dr.truti Nybegynder
12. februar 2004 - 23:38 #4
apache999: det var da indspiration :-)

men jeg bruger såmend ikke andet end dette til at highlighte:

<?php
highlight_file("./sourcecode/primer.php");
?>

primer.php er så hvor min C kode står i, og jeg har selv manuelt været inde og tilføje <?php i starten af filen og ?> i slutningen, for at det skal virke...
Avatar billede apache999 Nybegynder
12. februar 2004 - 23:56 #5
Du skal bare bruge highlight_file med den anden parameter sat for at returnere en streng i stedet for at outputte resultatet direkte. (kræver PHP 4.2)

$code = highlight_file("./sourcecode/primer.php",true);
$code = eregi_replace("?>","",eregi_replace("<?php","",$code));

... tror jeg nok
Avatar billede dr.truti Nybegynder
14. februar 2004 - 23:31 #6
apache999: Jeg kan sagtens forstå din løsnings model, men kan bare ikke få den til at virke...
Avatar billede dr.truti Nybegynder
18. februar 2004 - 10:31 #7
apache999: Jeg har løst problemet med lidt yderliger research og ved at snakke med nogle andre...

http://www.truti.com/index.php?center=./reminder/highlight_without_php_start_end_tag.php

Du har fået lidt credit, på siden!

Da problemet ikke blev løst, men du kun gav mig et hint, vil jeg give dig halvdelen af pointsne...
Avatar billede apache999 Nybegynder
18. februar 2004 - 11:22 #8
Jeg takker ydmygt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester