Hallo!
Ik heb wat problemen met het maken van een highlight script voor php. Ik gebruik hiervoor de tags [\php][\/php] (\ toegevoegd i.v.m. tweakers forum).
De code is als volgt:
Dit gaat echter fout, hij voegt namelijk gewoon $1 in (niet als variabele dus), dit terwijl hij natuurlijk de regular expression moet invullen!
Nu las ik iets over eval maar ik vraag me of dit wel kan wat ik wil dat het kan, in dit geval heb ik de volgende code voor replace:
Ik heb dus nog nooit met eval gewerkt en vraag me dan ook sterk af of dit wel klopt, ik heb in feite de tekst in de php manual overgenomen (http://nl.php.net/eval), maar dit werkt dus niet (foutmelding: "Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in /home/mediapnl/public_html/develop/media-tutor/pages/php-code.php(
: eval()'d code on line 1", heel logisch, maar hoe moet het dan?)
Ook heb ik even gekeken of het uberhaupt wel werkt, als ik alleen '$1' invul (dus zonder highlight_php e.d.) werkt het wel! De highlight_php functie doet niets anders dan highlight_string overigens qua het verwerken van de string die ik meegeef, de code hiervoor is dus niet van belang.
Ik hoop dat iemand mij kan helpen! Eval en Regular Expressions zijn in feite al een redelijk nieuw gebied voor me en ik denk dat ik iets belangrijk mis (met name bij eval).
Ik heb wat problemen met het maken van een highlight script voor php. Ik gebruik hiervoor de tags [\php][\/php] (\ toegevoegd i.v.m. tweakers forum).
De code is als volgt:
PHP:
1
2
3
4
5
6
7
8
9
10
| <?php $search = array('/\[php\](.*?)\[\/php\]/is', ); $replace = array(highlight_php('<?php $1 ?>'), ); $code = stripslashes($_POST['php']); $code = preg_replace ($search, $replace, $code); ?> |
Dit gaat echter fout, hij voegt namelijk gewoon $1 in (niet als variabele dus), dit terwijl hij natuurlijk de regular expression moet invullen!
Nu las ik iets over eval maar ik vraag me of dit wel kan wat ik wil dat het kan, in dit geval heb ik de volgende code voor replace:
PHP:
1
2
3
4
| <?php $replace = array(highlight_php('<?php '. eval("\$1 = \"$1\";") .' ?>'), ); ?> |
Ik heb dus nog nooit met eval gewerkt en vraag me dan ook sterk af of dit wel klopt, ik heb in feite de tekst in de php manual overgenomen (http://nl.php.net/eval), maar dit werkt dus niet (foutmelding: "Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in /home/mediapnl/public_html/develop/media-tutor/pages/php-code.php(
Ook heb ik even gekeken of het uberhaupt wel werkt, als ik alleen '$1' invul (dus zonder highlight_php e.d.) werkt het wel! De highlight_php functie doet niets anders dan highlight_string overigens qua het verwerken van de string die ik meegeef, de code hiervoor is dus niet van belang.
Ik hoop dat iemand mij kan helpen! Eval en Regular Expressions zijn in feite al een redelijk nieuw gebied voor me en ik denk dat ik iets belangrijk mis (met name bij eval).
[ Voor 12% gewijzigd door Arjan90 op 08-02-2008 15:19 ]
"Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid."