Welcome to WebmasterWorld Guest from 54.160.163.163

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

RegExp Problem

     

Marked

10:37 am on Jun 25, 2010 (gmt 0)

5+ Year Member



I'm trying to make a simple bbcode system, but I'm having a little issue with inserting a variable from the regexp expression into an array.

Here's the code:


$font_sizes = array(1 => 9,
2 => 13,
3 => 15,
4 => 17,
5 => 21,
6 => 26,
7 => 36 );

$pattern[2] = '#\[size="(.+?)"\](.+?)\[/size\]#is';
$replacements[2] = "[size={$font_sizes['$1']}]$2[/size]";

$post = preg_replace($pattern, $replacements, $post);


As you can see, I want size used in the bbcode to change based on the array. But the I can't get it working in this line:
$replacements[2] = "[size={$font_sizes['$1']}]$2[/size]";


Anyone got any ideas?

Thanks in advance,
Mark.

Matthew1980

11:50 am on Jun 25, 2010 (gmt 0)

WebmasterWorld Senior Member 5+ Year Member



Hi there marked,

Remove the single quotes from around the quoted variable... '$i' to just $i

Hope that helps :)

I would post the code but it keeps coming up error when I try to post :(

Cheers,
MRb

Marked

12:57 pm on Jun 25, 2010 (gmt 0)

5+ Year Member



Thanks for you reply,

I tried that before, as well as many other variations. Without the single quotes I get this error: Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$'

Matthew1980

1:26 pm on Jun 25, 2010 (gmt 0)

WebmasterWorld Senior Member 5+ Year Member



Hi there marked,

Oop's try this then, I hadn't noticed this on first read ;0

{".$font_sizes[$i]."}

The forum software won't let me post the code so just try replacing everything bewteen the braces as I have suggested. ;-p

This looks like you are trying to add the $font_sizes var to a string, in which case, that should now be fine, other than that I am stumped - it's too hot to think straight!

Cheers,
MRb
 

Featured Threads

Hot Threads This Week

Hot Threads This Month