Jump to content

$i remains the same in preg_match_all


Michan

Recommended Posts

Hi,

 

I'm having a problem updating the $i from 0 to 1 in this code. For some reason, $i remains the same throughout the loop, Could somebody please tell me what's going wrong?

 

The code functions; I've tested it and the $i remains 0 (or 1, whatever is given) constantly.

 

$text = '[image=1234]Caption 1![/image]Blah blah[image=4321]Caption 2.[/image]';

$pattern = "#\[image=(.*?)\]#si";
preg_match_all($pattern,$text,$matches, PREG_SET_ORDER);

for ($i = 0; $i < sizeof($matches); $i++) {

    $sql = mysql_query("SELECT file FROM vg_files WHERE id=".$matches[$i][1]);
$row = mysql_fetch_array($sql);

$pattern_find = "#\[image=(.*?)\](.*?)\[\/image\]#si";
$pattern_replace = ''.$row['file']."<BR>$2";
$text = preg_replace($pattern_find,$pattern_replace,$text);

}

 

Thanks in advance.

Link to comment
https://forums.phpfreaks.com/topic/76576-i-remains-the-same-in-preg_match_all/
Share on other sites

Michan,

see my post in the Help forum. Got an issue very similar to yours which may help. Mine is so close to being solved its almost painful.

Just can't quite figure out the last bit - maybe you can? Even if you can't it may help in some way.

The post is listed under CraigSherwood.

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.