ID: 12477
Updated by: andrei
Old Status: Open
Status: Closed
Bug Type: PCRE related
Operating System: Linux and SCO
PHP Version: 4.0.6
New Comment:

That's right, you need to escape $ in your replacement strings.

Previous Comments:

[2001-07-31 00:40:54] [EMAIL PROTECTED]

The setup for my templating system:


  "PAGETOP" => get_page($site->page_top),
  "PAGENAVBAR" => get_page($site->page_top),
  "PAGEMAIN" => get_page($site->page_main),
  "PAGELINKS" => get_page($site->page_links),,
  "PAGESPACE" => get_page($site->page_space),
  "PAGETEXT" => get_page($site->page_text),
  "PAGENEWS" => get_page($site->page_news),,
  "PAGEBOTTOM" => get_page($site->page_bottom),
  "PAGEDATA" => ""


$page = preg_replace($template,$pagevars,$page);

echo $page;

Basically each physical page referenced via the get_page function is a text template 
that may contain HTML, text or variables in the form {VAR}.

Eventually content from a database ends up in a variable called PAGEDATA which is in 
the template stored in the page main variable.

The problem:

PAGEDATA ends up containing page text and it has something like "would cost around 
$16,000 to complete" in that text.

When the preg_replace is performed, something somewhere is assuming that $16 is a 
variable (which doesn't exist) and the text ends up as "would cost around ,000 to 


Edit this bug report at

PHP Development Mailing List <>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to