z3rb Posted June 3, 2006 Share Posted June 3, 2006 function.php[code]//Get the HTML_DOCTYPE from gui/html_doctype.txt function html_doctype(){ if(file_exists("gui/html_doctype.txt")){ $style['html_doctype'] = file_get_contents("gui/html_doctype.txt"); echo $style['html_doctype']; }else{ echo("Fatal Error: HTML_DOCTYPE not found. Please re-upload html_doctype.txt"); } }//Change {config|X} to $config['X'] function parse_config($string){ $old = array("\{config|url\}", "\{config|mysql_server\}", "\{config|mysql_db\}"); $new = array($config['url'], $config['sqlserver'], $config['dbname']); $new_string = str_replace($old, $new, $string); $template_parsed['config'] = $new_string; }//Generate Header $template_unparsed['header'] = html_doctype(); parse_config($template_unparsed['header']); echo $template_parsed['config'];[/code]html_doctype.txt[code]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en-AU"><head><title>Perth Academy</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><link rel="stylesheet" type="text/css" href="{config|url}/gui/css/style.css" /></head>[/code]It doesn't want to replace {config|url} with $config[url]...Any ideas? Link to comment https://forums.phpfreaks.com/topic/11089-str_replace-problems/ Share on other sites More sharing options...
kenrbnsn Posted June 3, 2006 Share Posted June 3, 2006 In this piece of code:[code]<?php//Change {config|X} to $config['X'] function parse_config($string){ $old = array("\{config|url\}", "\{config|mysql_server\}", "\{config|mysql_db\}"); $new = array($config['url'], $config['sqlserver'], $config['dbname']); $new_string = str_replace($old, $new, $string); $template_parsed['config'] = $new_string; }?>[/code]Where is the $config array initialized? I don't see it anywhere, so your $new array doesn't contain what you think it does.I would pass the $old & $new arrays to your function instead of defining them in the function.[code]<?php $old = array('{config|url}', '{config|mysql_server}', '{config|mysql_db}'); $new = array($config['url'], $config['sqlserver'], $config['dbname']); $template_unparsed['header'] = html_doctype(); parse_config($template_unparsed['header']); echo $template_parsed['config']; function parse_config($string,$o, $n){ $new_string = str_replace($o, $n, $string); $template_parsed['config'] = $new_string; }?>[/code]Ken Link to comment https://forums.phpfreaks.com/topic/11089-str_replace-problems/#findComment-41468 Share on other sites More sharing options...
z3rb Posted June 3, 2006 Author Share Posted June 3, 2006 [!--quoteo(post=379637:date=Jun 3 2006, 10:20 AM:name=kenrbnsn)--][div class=\'quotetop\']QUOTE(kenrbnsn @ Jun 3 2006, 10:20 AM) [snapback]379637[/snapback][/div][div class=\'quotemain\'][!--quotec--]In this piece of code:[code]<?php//Change {config|X} to $config['X'] function parse_config($string){ $old = array("\{config|url\}", "\{config|mysql_server\}", "\{config|mysql_db\}"); $new = array($config['url'], $config['sqlserver'], $config['dbname']); $new_string = str_replace($old, $new, $string); $template_parsed['config'] = $new_string; }?>[/code]Where is the $config array initialized? I don't see it anywhere, so your $new array doesn't contain what you think it does.I would pass the $old & $new arrays to your function instead of defining them in the function.[code]<?php $old = array('{config|url}', '{config|mysql_server}', '{config|mysql_db}'); $new = array($config['url'], $config['sqlserver'], $config['dbname']); $template_unparsed['header'] = html_doctype(); parse_config($template_unparsed['header']); echo $template_parsed['config']; function parse_config($string,$o, $n){ $new_string = str_replace($o, $n, $string); $template_parsed['config'] = $new_string; }?>[/code]Ken[/quote]Thanks. The $config[x] variables are set in another php file called config.php (don't worry, that is required()).config.php[code]//MySQL Details //MySQL Database Name $config['dbname'] = ""; //MySQL Server $config['sqlserver'] = "localhost"; //MySQL Username $config['sqlusername'] = ""; //MySQL Password $config['sqlpassword'] = "";//Server Details //URL of PASite setup $config['url'] = "http://localhost/perthacademy"; //DO NOT END IN TRAILING SLASH.[/code] Link to comment https://forums.phpfreaks.com/topic/11089-str_replace-problems/#findComment-41469 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.