pdunn Posted October 6, 2006 Share Posted October 6, 2006 Hello,I want to make a buffer ($buf) that holds my php file. I want to remove the <?php ... ?> section and just hold the html information. I THOUGHT I made a regular expression to do this. I have$buf = ereg_replace('/[<\?]\w[\?>]/','',$buf);I also used,$buf = ereg_replace('/<\?\w\?>/','',$buf);and it didn't work.I had notice that even before this section,$buf = fgets($fd)$buf = trim($buf);that $buf only holds a some of the materials, it doesn't hold<html> blah blah <title>Untitled Document</title>blah blah<?php 'partial php_blah'it holds the rest of php_blah. However,$buf = strip_tags($buf);$buf = ereg_replace('/&\w;/', '', $buf);does holds from "Untitled Document" to the end of the file, even the ending '?>'.Does anyone knows why and how do I get $buf to hold everything and the proper way to write "erase the information inbetween <? and ?>"?Thank you,PDunn Quote Link to comment Share on other sites More sharing options...
pdunn Posted October 6, 2006 Author Share Posted October 6, 2006 printing the information in the buffer.Maybe I'm wrong, maybe what is happening is that the beginning part is not beginning printed out because it is in HTML and HTML tags like <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Untitled Document</title></head><?phpjust doesn't get printed. Well ... how do I print them. Would this help in being able to eliminate the code inbetween the <?php ?> Thank you for any help,P Quote Link to comment Share on other sites More sharing options...
roopurt18 Posted October 6, 2006 Share Posted October 6, 2006 $regexp = '/^(^<\?(php)?(.*|\s*)/?>)$/';I think that says, "Starting from the beginning, match what is not [b]<?[/b], followed by an optional [b]php[/b], followed by an character or whitespace, followed by [b]?>[/b], until the end of the string." Quote Link to comment Share on other sites More sharing options...
effigy Posted October 6, 2006 Share Posted October 6, 2006 [code]preg_replace('/<\?php.+?\?>/', '', $string);[/code] Quote Link to comment Share on other sites More sharing options...
roopurt18 Posted October 6, 2006 Share Posted October 6, 2006 effigy, that will miss any embedded <? ... ?> Quote Link to comment Share on other sites More sharing options...
effigy Posted October 6, 2006 Share Posted October 6, 2006 If there are embedded tags, I would split on the tag and loop through the result, flagging when you're in a tag. 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.