Jump to content

Archived

This topic is now archived and is closed to further replies.

pdunn

regular expressions and php

Recommended Posts

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

Share this post


Link to post
Share on other sites
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>
<?php

just 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

Share this post


Link to post
Share on other sites
$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."

Share this post


Link to post
Share on other sites
[code]
preg_replace('/<\?php.+?\?>/', '', $string);
[/code]

Share this post


Link to post
Share on other sites
If there are embedded tags, I would split on the tag and loop through the result, flagging when you're in a tag.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.