60 GP i błąd przy instalacji skryptu
AdrianM2 - 07-07-2008 17:08
60 GP i błąd przy instalacji skryptu
Witam,
przed zakupem serwera 60gp na ovh.pl sprawdziłem swój skrypt na 60free.ovh.org i wszystko instalowało się poprawnie, jednak gdy teraz chcę go zainstalować na 60gp wyskakuje mi taki błąd:
Warning: eregi_replace() [function.eregi-replace]: Invalid preceding regular expression in /home.10.23/adresstrony/www/includes/templates.php on line 17
czy ktoś mógłby mi wytłumaczyć dlaczego ten sam skrypt działał poprawnie na darmowym serwerze a nie mogę go już zainstalować na płatnym ?
Tu podaję templates.php w którym występuje niby błąd:
Kod:
<?php
function pparse($file) {
global $tvars, $swvars, $commonvars, $commonswitches, $tplpath;
if (isset($tplpath)) {
$tempstring = file_get_contents($tplpath . '/' . 'templates/' . $file . '.tpl');
} else {
$tempstring = file_get_contents('templates/' . $file . '.tpl');
}
if (isset($tvars)) {
foreach ($tvars as $key => $value) {
$tempstring = eregi_replace('{' . $key . '}', strval($value), $tempstring);
// $tempstring = eregi_replace('{ ' . $key . ' }', strval($value), $tempstring);
}
}
if (isset($commonvars)) {
foreach ($commonvars as $key => $value) {
$tempstring = eregi_replace('{' . $key . '}', strval($value), $tempstring);
// $tempstring = eregi_replace('{ ' . $key . ' }', strval($value), $tempstring);
}
}
if (isset($swvars)) {
foreach ($swvars as $key => $value) {
if ($swvars[$key]) {
$tempstring = eregi_replace('<!-- BEGIN_SWITCH_' . $key . ' -->', '', $tempstring);
$tempstring = eregi_replace('<!-- END_SWITCH_' . $key . ' -->', '', $tempstring);
} else {
$tempstring = eregi_replace('<!-- BEGIN_SWITCH_' . $key . ' -->', '<switch_comment>', $tempstring);
$tempstring = eregi_replace('<!-- END_SWITCH_' . $key . ' -->', '</switch_comment>', $tempstring);
}
}
}
if (isset($commonswitches)) {
foreach ($commonswitches as $key => $value) {
if ($commonswitches[$key]) {
$tempstring = eregi_replace('<!-- BEGIN_SWITCH_' . $key . ' -->', '', $tempstring);
$tempstring = eregi_replace('<!-- END_SWITCH_' . $key . ' -->', '', $tempstring);
} else {
$tempstring = eregi_replace('<!-- BEGIN_SWITCH_' . $key . ' -->', '<switch_comment>', $tempstring);
$tempstring = eregi_replace('<!-- END_SWITCH_' . $key . ' -->', '</switch_comment>', $tempstring);
}
}
}
$tempstring = preg_replace("'<source_comment[^>]*?>.*?</source_comment>'si", '', $tempstring);
$tempstring = preg_replace("'<switch_comment[^>]*?>.*?</switch_comment>'si", '', $tempstring);
$tempstring = preg_replace("'([\r\n])+'", "\n", $tempstring); // clean out the empty lines generated by switches
$tempstring = stripslashes($tempstring);
echo $tempstring;
}
?>
bob123 - 08-07-2008 09:55
Sprobuj wyeskejpowac znaki { oraz }
Łabędź - 08-07-2008 11:00
Cytat:
przed zakupem serwera 60gp na ovh.pl sprawdziłem swój skrypt na 60free.ovh.org i wszystko instalowało się poprawnie, jednak gdy teraz chcę go zainstalować na 60gp wyskakuje mi taki błąd:
60free ma standardowo php v5 a 60gp v4.
Zmień wersję php
http://pomoc.ovh.pl/KonfiguracjaPhppozdrawiam
AdrianM2 - 08-07-2008 13:41
Niestety zmiana wersji php nie pomogła. Czy serwery 60free a 60gp równią się jeszcze jakimiś domyślnymi ustawieniami ?
A może istnieje taka strona jak ta:
http://60gp.ovh.net/infos/test.php tylko że dla 60free ? Wtedy sam mógłbym porównać ustawienia.
bob123 - 08-07-2008 14:01
To wyglada raczej na blad php, sprobuj wyeskejpowac.
http://bugs.php.net/bug.php?id=36198&edit=1
AdrianM2 - 08-07-2008 15:25
Nie jest to błąd php bo skrypt działa poprawnie na darmowym serwerze 60free. Sprawdziłem też i wyeskejpowałem wszystkie "{" i "}" jednak wtedy cały skrypt się posypał :rolleyes:
Ktoś może wie co różni te dwa serwery na tyle że na jednym działa skrypt poprawnie a na drugim już nie ?
Wersję php zmieniłem na 5 i nic :(
bob123 - 08-07-2008 15:32
Cytat:
Nie jest to błąd php bo skrypt działa poprawnie na darmowym serwerze 60free.
Nie mialem na mysli Twojego skryptu tylko php(produkt)
Cytat:
Sprawdziłem też i wyeskejpowałem wszystkie "{" i "} ..."
Wklej jak wyglada skrypt po wyeskejpowaniu.
Cytat:
...jednak wtedy cały skrypt się posypał
Opisz dokladnie co sie stalo
AdrianM2 - 08-07-2008 18:08
Edit: Wszystko już działa poprawnie :)
Dziękuje za szybką i profesjonalną pomoc.
Z ciekawości spytam jeszcze tylko co daje wyeskejpowanie "{" ?
bob123 - 09-07-2008 11:02
Cytat:
Z ciekawości spytam jeszcze tylko co daje wyeskejpowanie "{" ?
{ jest to znak, ktory ma specjalne znaczenie we wzorcu. Jezeli chcesz dopasowac ten znak musisz go wyeskejpowac, dzieki temu bedzie traktowany jak zwykly znak.
Poczytaj o
wyrazeniach regularnych
zanotowane.pldoc.pisz.plpdf.pisz.plkonstruktor.keep.pl