Jump to content

variable in pattern name produces warning


kiss-o-matic

Recommended Posts

Howdy.  This still works, but I hate warnings:

 

This works fine -- gets all matches and no warnings.

$pattern     = "<form.+?action=\"(.+this.is.my.string.+)\".+/i";
if ( preg_match( $pattern, $line, $matches ) ) {
     // blah
}

 

This produces the warnings, but makes the same matches.

$string     = "this.is.my.string";
$pattern     = "<form.+?action=\"(.+$string.+)\".+/i";
if ( preg_match( $pattern, $line, $matches ) ) {
     // blah
}

 

I print the patterns out to make sure it's no weird typo.  They are the same.

Am I missing something?

You should be using preg_quote unless you actually want the fullstops in $string to match any character (which you might, I don't know). God knows how your code works at all, perhaps you copied it wrong or maybe the forums playing up again, because you don't appear to have an opening delimiter (or closing delimiter depending on your point of view). But as JAY6390 says, without knowing what warnings your talking about it's impossible to say.

Sry, I typed it wrong...

it has the open delimiter.  This is the error

 

Warning: preg_match(): Unknown modifier '/'

 

This is what I'm using as the pattern.

 

$pattern     = "/<form.+?action=\"(.+this.is.my.string.+)\".+/i";

 

I'll try preg_quote() in the morning.

Archived

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

×
×
  • Create New...

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.