highlight
Ik heb hier via jullie site een scriptje gevonden om php te highlighten.
Ik heb dit gebruikt maar ik ben nu van plan dit ook voor javascript te gebruiken (zodat daar ook vanalles een kleurtje krijgt)
dit heb ik er ongeveer van gemaakt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
function highlight($code) {
// functie om javascript en html ook te highlighten:
//html opzetten (zodat je < en > ziet)
$code = str_replace("<", "<", $code);
$code = str_replace(">", ">", $code);
// geschreven phptags naar ascii zetten:
$code = preg_replace("#<\?php|<\?PHP|<\?#", "HIERBEGINPHPCODEdiewordomgezetsecretword", $code);
$code = str_replace("?>
function highlight($code) {
// functie om javascript en html ook te highlighten:
//html opzetten (zodat je < en > ziet)
$code = str_replace("<", "<", $code);
$code = str_replace(">", ">", $code);
// geschreven phptags naar ascii zetten:
$code = preg_replace("#<\?php|<\?PHP|<\?#", "HIERBEGINPHPCODEdiewordomgezetsecretword", $code);
$code = str_replace("?>
//zorgen dat het highlighten niet stopt bij </script>
$code = str_replace("</script>", "</script>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php", $code);
$code = "<?php".$code."?>";
$source = highlight_string($code, true);
$source = explode('<br />',$source);
for ($i = 0; $i < count($source); $i++) {
$source[$i] = "<tr><td><code><font color='black'>".($i + 1)."</font></td><td width='100%'>".$source[$i];
}
$source = implode('</code></td></tr>',$source);
// zorgen dat alles juist word weergegeven
$source = preg_replace("#\<\?php#", "", $source);
$source = str_replace("?>", "", $source);
$source = str_replace("HIERBEGINPHPCODEdiewordomgezetsecretword", "<font color='#000000'><font color='#0000BB'><?php</font>", $source);
$source = str_replace("HIEREINDEPHPCODEdiewerdomgezetsecretword", "<font color='#000000'><font color='#0000BB'>?></font>", $source);
$bron = "<br /><table align='center' bgcolor='lightgray' bordercolor='#00CC00' width='75% border='1' cellspacing='0' cellpadding='0''>".$source."</table><br />";
return $bron;
}
?>
$code = "<?php".$code."?>";
$source = highlight_string($code, true);
$source = explode('<br />',$source);
for ($i = 0; $i < count($source); $i++) {
$source[$i] = "<tr><td><code><font color='black'>".($i + 1)."</font></td><td width='100%'>".$source[$i];
}
$source = implode('</code></td></tr>',$source);
// zorgen dat alles juist word weergegeven
$source = preg_replace("#\<\?php#", "", $source);
$source = str_replace("?>", "", $source);
$source = str_replace("HIERBEGINPHPCODEdiewordomgezetsecretword", "<font color='#000000'><font color='#0000BB'><?php</font>", $source);
$source = str_replace("HIEREINDEPHPCODEdiewerdomgezetsecretword", "<font color='#000000'><font color='#0000BB'>?></font>", $source);
$bron = "<br /><table align='center' bgcolor='lightgray' bordercolor='#00CC00' width='75% border='1' cellspacing='0' cellpadding='0''>".$source."</table><br />";
return $bron;
}
?>
maar nu is het probleem:
er worden woorden/functies/haken niet omgezet in kleuren, weet iemand hoe dit komt en weet er misschien ook iemand hoe ik dit script beter kan maken??
hier even de link naar een voorbeeldje: http://veewee.depas.be/testje.php
Dank!
Gewijzigd op 19/09/2004 21:44:00 door De VeeWee
Je gebruikt <tr><td>nummer</td><td>regels</td></tr>
Het probleem is dit.. Als er aan het einde van een tabel rij groen wordt gebruikt, en op de volgende regel ook weer groen, dan zegt hij niet <font color=groen>regel1</font><font color=groen>regel2</font> maar laat hij de <font> tag open staan..
Door dat je steeds weer een andere <td> gebruikt, wordt die <font> niet doorgegeven naar de volgende rij.. Hoop dat ik het een beetje goed uitleg :)
Trouwens, netter zou zijn om alle fonts te vervangen door <span>'s, want <font> bestaat niet :P das een internet explorer verzinsel :)
moet ik dan ook alle <font color> omzetten naar
<span color> of moet ik <span style="color:..."> gebruiken?
Handleiding HTML
[citaat Handleiding HTML]
In het volgende voorbeeld wordt voor het DIV element een inline stijl gedefinieerd met behulp van het STYLE attribuut.
<DIV STYLE="color: red; background-color: white;">
<H2>Dit is H2</H2>
<P>Deze tekst is ingesloten door het P element.</P>
</DIV>
[/citaat]
ik weet niet of dat is wat je zoekt en/of Bas dit bedoelt...
kijk eens op [citaat Handleiding HTML]
In het volgende voorbeeld wordt voor het DIV element een inline stijl gedefinieerd met behulp van het STYLE attribuut.
<DIV STYLE="color: red; background-color: white;">
<H2>Dit is H2</H2>
<P>Deze tekst is ingesloten door het P element.</P>
</DIV>
[/citaat]
ik weet niet of dat is wat je zoekt en/of Bas dit bedoelt...
Gewijzigd op 19/09/2004 23:21:00 door John de Boer
NeeJ Bas bedoelt <span> :)
Ik heb op de hierboven vermelde site gekeken bij <span> en hij gaf ook die tag door
bedankt voor de hulp allessinds
Quote:
...nu heb ik het dan maar gewoon op de font-tags gehouden...
En maar niet willen luisteren als anderen het goed met je voor hebben...
Quote:
Trouwens, netter zou zijn om alle fonts te vervangen door <span>'s, want <font> bestaat niet :P das een internet explorer verzinsel :)
Quote:
ik had het met span geprobeert maar het gaf hetzelfde resultaat als toen ik met de tabellen werkte
als je dan alles had gelezen dan had je geweten dat ik niet op het juiste resultaat uitkwam als ik met span werkte --> daarom houd ik het maar gewoon zo
Quote:
als je dan alles had gelezen dan had je geweten dat ik niet op het juiste resultaat uitkwam als ik met span werkte --> daarom houd ik het maar gewoon zo
je kwam het zelfde resultaat uit, maar toch kies je voor het slechte resultaat... DAT is het punt :)