PHP code highlighten
Ik wil het nu anders hebben op de nieuwe site (PHPhulp v6). Ik heb nu een probleem. Ik ben erg slecht in regex en ik heb wel iets geprobeerd maar het lukt me niet :/
Het gaat om het volgende:
/is", highlight_php('\1'), $text);
?>
Wat ik dus eigenlijk wil is alles tussen herkennen, en dan een functie gooien over het geen wat er tussen zit. In dit geval de functie highlight_php() die ik zelf aan heb gemaakt. Alleen hij herkent niks tussen . Iemand een idee? Alvast bedankt..
ik denk dat je preg_replace_callback hiervoor nodig hebt :P
helluuppp!! :) niemand anders?
Matcht ie hem wel? Dus met dezelfde code alle pref_match?
Nee hij matched ook niet :/ Maar ik weet de balle van regex dus misschien moet het ook wel helemaal anders. .zal nog ff wat php functies doorlezen maar heb er niet zoveel tijd voor.. dacht ff makkelijk te doen door te vragen op het forum.. misschien had iemand al zoiets kant en klaar liggen.. :)
Hmm wat wil dat zeggen ^o)
. = willekeurig teken
+ = voorgaand teken mag g1 0 keer voorkomen (dus 1,2 etc)
? = voorgaand teken komt 1 of 0 keer voor ...
Owja en dit :
/si", $tekst))
{
echo "Gelukt!";
}
else
{
echo "Mislukt!";
}
?>
Dat werkt bij mij gewoon , ik krijg gewoon de melding "Gelukt!" :)
Ik zal het ff precies uitleggen..
Ik heb een tekst bijvoorbeeld:
----
Blablablablabla
blablablablabla etc.
----
Dan haal ik de functie: parse_text() eroverheen. Dit is mijn eigen gemaakte functie met ubb codes etc.
Hierin staat ook (in de functie parse_text()):
/si", highlight_php("\\1"), $text);
?>
Dit roept dus de functie highlight_php() aan. Dit is de functie highlight_php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?
function highlight_php($code)
{
ob_start();
highlight_string($code);
$code = ob_get_contents();
ob_end_clean();
return $code;
}
?>
function highlight_php($code)
{
ob_start();
highlight_string($code);
$code = ob_get_contents();
ob_end_clean();
return $code;
}
?>
Misschien ligt het aan mij en doe ik iets verkeerd maar ik zie het niet en het werkt ook niet :(((
)/sie","highlight_php('\\1')", $text);
?>
BTW: wat is het nut hiervan?
als je gewoon highlight_string doet dan krijg je toch exact dezelfde output?
die kijkt ook alleen naar code tussen
Gewijzigd op 23/05/2004 02:50:00 door Rick
Nou ja .. fuck it :p heb het al anders gedaan zonder al dit moeilijke gedoe.. wou gwoon ff kijken of het kon
haha ;)