Zadejte hledaný výraz...

Zastaralá funkce v PHP

Luky12345
verified
rating uzivatele
5. 1. 2013 05:34:00
Stránka psaná v PHP mě píše toto:
Deprecated: Function eregi_replace() is deprecated in /home/socialni/public_html/chat/lib/ssgen.php on line 37
Deprecated: Function eregi() is deprecated in /home/socialni/public_html/chat/lib/ssgen.php on line 36
Co mám zde upravit?
eregi("(*)","$val",$match);
$match = eregi_replace("url(","url(./themes/$skin/",$match)
Jak mám toto upravit?
5. 1. 2013 05:34:00
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849111
michalc
verified
rating uzivatele
(2 hodnocení)
5. 1. 2013 08:26:09
http://stackoverflow.com/questions/2084881/alternative-for-deprecated-php-function-eregi-replace
5. 1. 2013 08:26:09
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849110
Kamil Hurajt
verified
rating uzivatele
(8 hodnocení)
5. 1. 2013 09:07:46
Napsal Luky12345;890192
Stránka psaná v PHP mě píše toto:
Deprecated: Function eregi_replace() is deprecated in /home/socialni/public_html/chat/lib/ssgen.php on line 37
Deprecated: Function eregi() is deprecated in /home/socialni/public_html/chat/lib/ssgen.php on line 36
Co mám zde upravit?
eregi("(*)","$val",$match);
$match = eregi_replace("url(","url(./themes/$skin/",$match)
Jak mám toto upravit?
ereg,eregi,ereg_.... jsou zastarale,
namisto:
ereg,eregi - preg_match
namisto eregi_replace, preg_replace , etc..
dokumentaci mas zde: http://cz1.php.net/manual/en/ref.pcre.php
5. 1. 2013 09:07:46
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849109
Luky12345
verified
rating uzivatele
5. 1. 2013 11:20:17
Když změním:
eregi("(*)","$val",$match);
$match = eregi_replace("url(","url(./themes/$skin/",$match)
na:
preg_match("(*)","$val",$match);
$match = preg_replace("url(","url(./themes/$skin/",$match);
Tak to napíše:
Notice: Undefined offset: 1 in /home/socialni/public_html/chat/lib/ssgen.php on line 38
Warning: preg_match() : Unknown modifier '' in /home/socialni/public_html/chat/lib/ssgen.php on line 36
Warning: preg_replace() : Delimiter must not be alphanumeric or backslash in /home/socialni/public_html/chat/lib/ssgen.php on line 37
5. 1. 2013 11:20:17
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849108
Kamil Hurajt
verified
rating uzivatele
(8 hodnocení)
5. 1. 2013 11:30:18
skus takhle:
preg_match('#^()(*)$#i',$string);
psal jsem to jen tak, takze to nemusi byt 100% funkci, tak si to uprav a pokud neznas regexy, tak doporucuji nastudovat. Budou se ti hodit.
5. 1. 2013 11:30:18
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849107
v prvním parametru preg_ se musí v tvé případě použít: "/text/" ... a každý / musíš escapovat / ... dej si před ten preg_ str_replace a nahrad si / za / a do preg_ si pridej jen ty / na začátek a konec.
5. 1. 2013 11:33:24
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849106
hm
verified
rating uzivatele
(20 hodnocení)
5. 1. 2013 11:34:55
nebo pouzijes nejaky nestadardni znak "~text~" a nic escapovat nemusis... netusim proc lidi pouzivaj standfardni znaky a pak jak volove vsecko escapujou :)
5. 1. 2013 11:34:55
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849105
Luky12345
verified
rating uzivatele
5. 1. 2013 11:37:31
Napsal Aleš Jiříček;890234
nebo pouzijes nejaky nestadardni znak "~text~" a nic escapovat nemusis... netusim proc lidi pouzivaj standfardni znaky a pak jak volove vsecko escapujou :)
Děkuji, a jak to prosím myslíš? Moc tomu nerozumím.
---------- Příspěvek doplněn 05.01.2013 v 12:20 ----------
Stále mi to nejde
---------- Příspěvek doplněn 05.01.2013 v 12:26 ----------
Pomůže někdo?
5. 1. 2013 11:37:31
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849104
Kamil Hurajt
verified
rating uzivatele
(8 hodnocení)
5. 1. 2013 12:28:21
Napsal Luky12345;890236
Děkuji, a jak to prosím myslíš? Moc tomu nerozumím.
---------- Příspěvek doplněn 05.01.2013 v 12:20 ----------
Stále mi to nejde
Pomuze ti pouze nastudovani regexu, takhle to vysvetlovat je zbytecne, musis si nastudovat regexy.
---------- Příspěvek doplněn 05.01.2013 v 12:26 ----------
Pomůže někdo?
Musis si pomoct sam a nastudovat regexy, to je nejlepsi cesta pokud chces programovat dale, protoze je bude urcite potrebovat napr. pri validaci emailu nebo vstupnich dat z formularu.
5. 1. 2013 12:28:21
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849103
Petr Soukup
verified
rating uzivatele
(5 hodnocení)
5. 1. 2013 12:31:38
Na začátku a konci regulárního výrazu musí být stejný znak, aby se poznalo, kde začíná a končí. Může to být libovolný znak, ale musí být na obou koncích stejný. Nejlepší je používat ~ protože ten se těžko vyskytne někde uprostřed.
Když budu chtít odchytit všechny url zboží, budu mít regulár:
preg_match("~/katalog/zbozi-(+)~",$url,$m);
Kdybych chtěl, aby to ignorovalo velikost písmen, tak tam přidám modifikátor za poslední vlnovku:
preg_match("~/katalog/zbozi-(+)~i",$url,$m);
V tvém případě se tak změní:
na
a druhý
na
5. 1. 2013 12:31:38
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849102
Luky12345
verified
rating uzivatele
5. 1. 2013 12:37:19
Napsal Souki;890253
Na začátku a konci regulárního výrazu musí být stejný znak, aby se poznalo, kde začíná a končí. Může to být libovolný znak, ale musí být na obou koncích stejný. Nejlepší je používat ~ protože ten se těžko vyskytne někde uprostřed.
Když budu chtít odchytit všechny url zboží, budu mít regulár:
preg_match("~/katalog/zbozi-(+)~",$url,$m);
Kdybych chtěl, aby to ignorovalo velikost písmen, tak tam přidám modifikátor za poslední vlnovku:
preg_match("~/katalog/zbozi-(+)~i",$url,$m);
V tvém případě se tak změní:
na
a druhý
na
Děkuji za vyčerpávající odpověď. Změnil jsem to, ale vyhodilo mě to chybu:
Warning: preg_replace() : No ending delimiter '~' found in /home/socialni/public_html/chat/lib/ssgen.php on line 37
5. 1. 2013 12:37:19
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849101
Petr Soukup
verified
rating uzivatele
(5 hodnocení)
5. 1. 2013 12:52:03
U druhého jsem se překoukl a má být jinak. Ale když na to teď koukám, tak je úplně zbytečné cpát tam regulár a lepší bude toto:
5. 1. 2013 12:52:03
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849100
Luky12345
verified
rating uzivatele
5. 1. 2013 13:04:58
Děkuji Vám mnohokrát Souki. Funguje to. Prosím ještě bych potřeboval pomoct se změnou tohoto, pomůžete mi prosím?
$css = eregi_replace("r","",$css);
$css = eregi_replace("n","",$css);
$css = eregi_replace("'","'",$css);
$theme_data_file = explode(";",preg_replace("/r/","",implode("",$theme_data_file)));
$theme_wt = preg_replace("",$head,$theme_wt);
$theme_wt = preg_replace("",$body,$theme_wt);
5. 1. 2013 13:04:58
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849099
Kamil Hurajt
verified
rating uzivatele
(8 hodnocení)
5. 1. 2013 13:09:34
Napsal Luky12345;890268
Děkuji Vám mnohokrát Souki. Funguje to. Prosím ještě bych potřeboval pomoct se změnou tohoto, pomůžete mi prosím?
$css = eregi_replace("r","",$css);
$css = eregi_replace("n","",$css);
$css = eregi_replace("'","'",$css);
$theme_data_file = explode(";",preg_replace("/r/","",implode("",$theme_data_file)));
$theme_wt = preg_replace("",$head,$theme_wt);
$theme_wt = preg_replace("",$body,$theme_wt);
udelej to jednoduseji napr takto:
$search = array("r","n","'");
$replace = array("","","'");
str_replace($search,$replace,$css);
5. 1. 2013 13:09:34
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849098
Petr Soukup
verified
rating uzivatele
(5 hodnocení)
5. 1. 2013 13:10:43
Ani v jenom případě tam není potřeba regulár a bude tam fungovat hloupý str_replace($co_nahradit,$cim_nahradit,$kde_nahradit)
5. 1. 2013 13:10:43
https://webtrh.cz/diskuse/zastarala-funkce-v-php#reply849097
Pro odpověď se přihlašte.
Přihlásit