Hi,
I am trying to use preg_replace to take out all occurances of PHP code
after reading (fread()) the contents of a PHP file. The code I am using
is:
$html = preg_replace("<?php*?>", "", $html);
Unfortuntely it is not working and giving the following error:
Warning: preg_replace(): Nothing to repeat for offset 0 in
C:/apache/...
Can someone please try this out and see what they get. How can I get
this to work?
Cheers
Burnsy 16 2844
Do you get the same error if you switch out <?php*?> with something
simple, as a test?
> $html = preg_replace("<?php*?>", "", $html);
To my basic knowledge, that expression should match a string with
'<?php' at the start, and '?>' at the end with any collection of
characters inbetween (represented by the asterix - * - character). Do you get the same error if you switch out <?php*?> with something
simple, as a test?
I did try and switch the '<?php*?>' part with just something like
'<h1>' and it seemed to work.
First, PCRE is interpreting the brackets as brackets for the
expression. Second, the question mark is a special character in RegEx
thus needs to be escaped. Third, to match any character zero or many
times you need ".*" and not just the asterisk.
The correct expression is "/<\?php.*?\?>/s". The s modifier is
necessary for matching across lines.
If this is intended as a security check of sort, then you need a lot
more code than a call to preg_replace().
>I am trying to use preg_replace to take out all occurances of PHP code after reading (fread()) the contents of a PHP file. The code I am using is:
$html = preg_replace("<?php*?>", "", $html);
What characters when they are intended to be literal have to be
backslashed? This at least includes ? and *. Not sure about <>.
What does the * character mean in a regular expression? 0 or more
repetitions of what preceeds it. This is *NOT* the same as a
filename wildcard. p* matches a whole bunch of p's. As a filename
wildcard, it matches something that begins with p followed by
something else.
Offhand I'm having trouble finding documentation on the particular
flavor of regular expressions PHP uses.
Gordon L. Burditt
On 2 Sep 2005 14:46:41 -0700, bi******@yahoo.co.uk wrote: $html = preg_replace("<?php*?>", "", $html); To my basic knowledge, that expression should match a string with '<?php' at the start, and '?>' at the end with any collection of characters inbetween (represented by the asterix - * - character).
It doesn't match that, it's an invalid pattern. Have you read: http://uk2.php.net/manual/en/ref.pcre.php http://uk2.php.net/manual/en/referen...ern.syntax.php http://uk2.php.net/manual/en/referen....modifiers.php
Even if you'd surrounded it with delimiters, e.g. you'd used
/<?php*?>/
that would match (courtesy of the YAPE::Regex::Explain Perl module):
----------------------------------------------------------------------
<? '<' (optional (matching the most amount
possible))
----------------------------------------------------------------------
ph 'ph'
----------------------------------------------------------------------
p*? 'p' (0 or more times (matching the least
amount possible))
---------------------------------------------------------------------- '>'
---------------------------------------------------------------------- Do you get the same error if you switch out <?php*?> with something simple, as a test?
I did try and switch the '<?php*?>' part with just something like '<h1>' and it seemed to work.
But this doesn't match "<h1>" which it appears you might be expecting, it
matches "h1". Read http://uk2.php.net/manual/en/ref.pcre.php for why.
You may want to look at http://www.weitz.de/regex-coach/ which I've seen
mentioned a few times, and looks pretty useful for learning regexes from the
description and screenshot.
--
Andy Hassall :: an**@andyh.co.uk :: http://www.andyh.co.uk http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool bi******@yahoo.co.uk wrote: I am trying to use preg_replace to take out all occurances of PHP code after reading (fread()) the contents of a PHP file. The code I am using is:
$html = preg_replace("<?php*?>", "", $html);
<?php
// ?>
?>
You're fired.
--
Jock
John Dunlop wrote: <?php
// ?>
?>
Make that
<?php
/* ?> */
?>
You're still fired.
--
Jock
The block would be removed correctly if the greedy matching isn't
turned off. bi******@yahoo.co.uk wrote: Hi,
I am trying to use preg_replace to take out all occurances of PHP code after reading (fread()) the contents of a PHP file. The code I am using is:
<snip>
Are you aware of <http://in2.php.net/strip_tags> and
<http://in2.php.net/tokenizer> ?
--
<?php echo 'Just another PHP saint'; ?>
Email: rrjanbiah-at-Y!com Blog: http://rajeshanbiah.blogspot.com/
Chung Leong wrote: The block would be removed correctly if the greedy matching isn't turned off.
What greedy matching?
Anyway, on or off, it doesn't matter.
<?php
?>
foo
<?php
?>
He never got the job.
--
Jock
In article <d6***************@newsfe7-win.ntli.net>,
John Dunlop <us*********@john.dunlop.name> wrote: Chung Leong wrote:
The block would be removed correctly if the greedy matching isn't turned off.
What greedy matching?
Anyway, on or off, it doesn't matter.
<?php
?>
foo
<?php
?>
He never got the job.
#!/usr/bin/php
<?
$strings = array(
"Hello <?php print 'Miss'; ?> World",
"Hello <?php print 'World'; ?>",
"<?php echo 'foo'; ?>Hello World <?php echo 'bar'; ?>",
);
foreach (preg_replace("/<\?php.*?\?>/si", "", $strings) as $line)
print "$line\n";
?>
OUTPUT:
Hello World
Hello
Hello World
--
Sandman[.net]
Sandman wrote: #!/usr/bin/php <? $strings = array( "Hello <?php print 'Miss'; ?> World", "Hello <?php print 'World'; ?>", "<?php echo 'foo'; ?>Hello World <?php echo 'bar'; ?>", ); foreach (preg_replace("/<\?php.*?\?>/si", "", $strings) as $line) print "$line\n"; ?>
OUTPUT:
Hello World Hello Hello World
I can't reread this subthread for you.
--
Jock
In article <1X***************@newsfe7-win.ntli.net>,
John Dunlop <us*********@john.dunlop.name> wrote: Sandman wrote:
#!/usr/bin/php <? $strings = array( "Hello <?php print 'Miss'; ?> World", "Hello <?php print 'World'; ?>", "<?php echo 'foo'; ?>Hello World <?php echo 'bar'; ?>", ); foreach (preg_replace("/<\?php.*?\?>/si", "", $strings) as $line) print "$line\n"; ?>
OUTPUT:
Hello World Hello Hello World
I can't reread this subthread for you.
I wouldn't have expected such ability from you, no.
--
Sandman[.net] This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: David |
last post by:
Hi,
I've had a search through google but couldn't really find the answer I was
looking for.I'm
new to PHP, so please take it <relatively> easy.
I've created a script which runs some SNMP...
|
by: Richard B. Christ |
last post by:
I wrote the following code and it does NOT seem to work.
$search = array('/<popup*>/ie');
$replace = array('make_popup(split_tag(\\0))');
preg_replace($search, $replace, $someText);
If I try...
|
by: TXSherry |
last post by:
Hi,
I cannot seem to wrap my brain around preg_replace. Though I've read
the help file backwords and forwards. :/ Hoping someone can give me
a solution here.
Problem: Given string 'str'...
|
by: Margaret MacDonald |
last post by:
I've been going mad trying to figure out how to do this--it should be
easy!
Allow the user to enter '\_sometext\_', i.e., literal backslash,
underscore, some text, literal backslash, underscore...
|
by: WUV999U |
last post by:
Hi
I am fairly new to VBA and want to know how I can convert or I mean
parse the XML file and convert to an access database.
Please help. I greatly appreciate your time and help.
I would be...
|
by: tperri |
last post by:
I have an HTML table with several fields like this:
<A href="Savings.aspx?category=Food"><asp:imagebutton id="imgFood"
ImageUrl="images\buttons\btn-food-i.gif"...
|
by: Bjorn |
last post by:
Hi.
Every time i post data in a form the contents are being checked for
validity.
When i click the back-button, all data is gone and i have to retype it.
It's obvious that only a few or none of...
|
by: Michael |
last post by:
Since the include function is called from within a PHP script, why
does the included file have to identify itself as a PHP again by
enclosing its code in <?php... <?>
One would assume that the...
|
by: shalini jain |
last post by:
Hi, I want to know how can we do pagination using XSL. There are number of tutorials available on pagination using PHP but nothing with XSL. i am really stuck with my code.
Below is the code that...
|
by: lllomh |
last post by:
Define the method first
this.state = {
buttonBackgroundColor: 'green',
isBlinking: false, // A new status is added to identify whether the button is blinking or not
}
autoStart=()=>{
|
by: DJRhino |
last post by:
Was curious if anyone else was having this same issue or not....
I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
|
by: Aliciasmith |
last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
|
by: tracyyun |
last post by:
Hello everyone,
I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...
|
by: giovanniandrean |
last post by:
The energy model is structured as follows and uses excel sheets to give input data:
1-Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...
|
by: NeoPa |
last post by:
Introduction
For this article I'll be using a very simple database which has Form (clsForm) & Report (clsReport) classes that simply handle making the calling Form invisible until the Form, or all...
|
by: nia12 |
last post by:
Hi there,
I am very new to Access so apologies if any of this is obvious/not clear.
I am creating a data collection tool for health care employees to complete. It consists of a number of...
|
by: isladogs |
last post by:
The next online meeting of the Access Europe User Group will be on Wednesday 6 Dec 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, Mike...
|
by: GKJR |
last post by:
Does anyone have a recommendation to build a standalone application to replace an Access database? I have my bookkeeping software I developed in Access that I would like to make available to other...
| |