[PHP] Highlight_file en preg_replace
Ponzi
11/02/2007 15:55:00Hallo,
Ik zit hier al een tijdje mee te prullen, maar kom er helemaal niet uit :-) . Misschien weten jullie een simpelere oplossing.
De situatie is als volgt: er wordt een tekst uit mijn database gehaald. Vervolgens wordt die door een functie gehaald die kijkt of er tags aanwezig zijn. So far so good...
De bedoeling van die tags is om de tekst die er tussenstaat te highlighten. (Dus, er staat bijvoorbeeld: tekst. Dan wordt er een bestand gehighlight 'tekst.php').
Op de één of andere manier moet enkel de tekst tussen de code-tags verwerkt worden, maar ik heb geen flauw idee hoe. Waar moet ik de highlight_file()-functie hier plaatsen?
Tot nu toe, heb ik enkel dit:
Mvg,
Ponzi
Ik zit hier al een tijdje mee te prullen, maar kom er helemaal niet uit :-) . Misschien weten jullie een simpelere oplossing.
De situatie is als volgt: er wordt een tekst uit mijn database gehaald. Vervolgens wordt die door een functie gehaald die kijkt of er tags aanwezig zijn. So far so good...
De bedoeling van die tags is om de tekst die er tussenstaat te highlighten. (Dus, er staat bijvoorbeeld: tekst. Dan wordt er een bestand gehighlight 'tekst.php').
Op de één of andere manier moet enkel de tekst tussen de code-tags verwerkt worden, maar ik heb geen flauw idee hoe. Waar moet ik de highlight_file()-functie hier plaatsen?
Tot nu toe, heb ik enkel dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
function highlight($Text)
{
$Text = preg_replace("#\[code\](.+?)\[/code\]#is", "\\1", $Text);
return $Text;
}
?>
function highlight($Text)
{
$Text = preg_replace("#\[code\](.+?)\[/code\]#is", "\\1", $Text);
return $Text;
}
?>
Mvg,
Ponzi
PHP hulp
24/12/2024 15:11:50Bo az
11/02/2007 16:02:00Ik vermoed zo iets, ookal weet ik niet of ie de true goed pakt.
uitleg:
je moet de e meegeven bij pregreplace, dan wordt de 2e parameter als php geïnterpreteerd, deze moet je wel als string in geven. (Dan werken dubbele quotes dus niet want dan wordt het meteen al als php geïnterpreteerd, van daar de enkele quotes)
uitleg:
je moet de e meegeven bij pregreplace, dan wordt de 2e parameter als php geïnterpreteerd, deze moet je wel als string in geven. (Dan werken dubbele quotes dus niet want dan wordt het meteen al als php geïnterpreteerd, van daar de enkele quotes)
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
function highlight($Text)
{
$Text = preg_replace("#\[code\](.+?)\[/code\]#sie", 'highlight_string(\'\\1\', true)', $Text);
return $Text;
}
?>
function highlight($Text)
{
$Text = preg_replace("#\[code\](.+?)\[/code\]#sie", 'highlight_string(\'\\1\', true)', $Text);
return $Text;
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Bo az
- SanThe -
11/02/2007 16:02:00Die preg_replace is niet mijn stukje. Maar zit in de return de tekst die je wilt highlichten. Zie dan highlight_string().
M Ypma
11/02/2007 16:03:00highlight_file() is voor bestanden zoals de naam al zegt... en niet voor strings. dat gaat dusn iet werken zo...
plaats er highlight_string() omheen
plaats er highlight_string() omheen
Ponzi
11/02/2007 16:04:00@ Boaz: dankjewel, dat was het :-) !
@ SanThe en Michel: De tekst ertussen was een titel van het bestand dat ge-highlight moest worden, maar toch bedankt jongens !
@ SanThe en Michel: De tekst ertussen was een titel van het bestand dat ge-highlight moest worden, maar toch bedankt jongens !