The Little Guy Posted March 10, 2009 Share Posted March 10, 2009 I have user comments on my site, and the user can post php in there comments. Like this: This is a test with PHP <?php echo ''hello test''; ?> How would I extract the PHP, and place it in the highlight_string function, and leave the rest alone? Quote Link to comment Share on other sites More sharing options...
The Little Guy Posted March 10, 2009 Author Share Posted March 10, 2009 I found this way to work (I think) is it a good way or is there a better one? $comment = preg_split("/^(<\?php.*?\?>)/ms", $cow['comment'], -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); foreach($comment as $line){ preg_match('/<\?php/s', $line, $matches); if($matches[0]){ highlight_string($line); }else{ echo $line; } } Quote Link to comment Share on other sites More sharing options...
The Little Guy Posted March 10, 2009 Author Share Posted March 10, 2009 Hmm, the above isn't amazing... If I do this: This is a test, with PHP <?php echo 'hello test'; ?> No php here <?php echo 'hello test'; $blue = '?>'; ?> the value for variable $blue, the parser thinks that that is where I want to stop, which it isn't so that is one bug... Quote Link to comment Share on other sites More sharing options...
The Little Guy Posted March 10, 2009 Author Share Posted March 10, 2009 I think I got it Quote Link to comment Share on other sites More sharing options...
.josh Posted March 10, 2009 Share Posted March 10, 2009 just read the notes in the manual for highlight_string() there's a ton of entries doing exactly what you want. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.