Jump to content

Preg_match_all sytax help


imperium2335

Recommended Posts

Hi, I can't ever seem to get this function to work properly. I have read the manual and looked at examples other people they have done but with no success.

Could someone tell me what is wrong with my syntax, I want it to count all the occurrences of "type="hidden"".

$hiddencount = preg_match_all("/type\=\"hidden\"/", $form, $dump) ;

Cheers.

Link to comment
https://forums.phpfreaks.com/topic/178100-preg_match_all-sytax-help/
Share on other sites

Could someone tell me what is wrong with my syntax, I want it to count all the occurrences of "type="hidden"".

$hiddencount = preg_match_all("/type\=\"hidden\"/", $form, $dump) ;

 

There is nothing, syntactically or otherwise, wrong with your regular expression which would prevent it from matching what you want it to match. (Aside: cags mentions that equals is not a special character so does not need escaping with a backslash. This is true, but if one does put a backslash before non-special characters it will just be ignored anyway.)

 

The regex will happily (if an expression can have emotion) match occurrences of type="hidden" in a string.  If this is returning a zero count then there may be no occurrences of that exact string present.

 

As a quick example using your exact regular expression:

$subject = 'type="hidden"type="hidden"type="hidden"';
$count   = preg_match_all("/type\=\"hidden\"/", $subject, $matches);
var_dump($count); // int(3)

 

Another alternative, because your example does not really require the use of a regular expression (simple string matching will suffice) and only wants the count, would be to call on the handy substr_count function:

$subject = 'type="hidden"type="hidden"type="hidden"';
$count   = substr_count($subject, 'type="hidden"');
var_dump($count); // int(3)

 

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.