Forum » Izdelava spletišč » [php] brisanje nedovoljenih znakov
[php] brisanje nedovoljenih znakov
Veron ::
Torej imam recimo takole: ime slike je "bla 19.2.2011 wuhu - bla neki.jpg"
rad bi pa imel v končni fazi nekako takole: "bla-19-2-2011-wuhu-bla-neki.jpg"
z ostalimi znaki ni problemov, edino nevem kako se "lepo" znebit tistih pik med datumom ali bilo kje drugje v nizu s tem, da ne odstranim zadnje pike ".jpg"
trenutno za ostale znake uporabljam kar:
s tem, da se tudi znebim dvojnih presledkov in morebitnega podvajanja "-" med wuhu in bla
sicer nevem a je tole glih kaka dobra ideja, verjetno obstaja še kakšna. Uglavnem malo pomoči bi rabil še, kako se znebit pik v stringu, s tem da ne uničim zadnje pred končnico?
rad bi pa imel v končni fazi nekako takole: "bla-19-2-2011-wuhu-bla-neki.jpg"
z ostalimi znaki ni problemov, edino nevem kako se "lepo" znebit tistih pik med datumom ali bilo kje drugje v nizu s tem, da ne odstranim zadnje pike ".jpg"
trenutno za ostale znake uporabljam kar:
$y = ereg_replace("[^A-Za-z0-9. ]", "", $x); $y = preg_replace("/(\s){2,}/",'$1',$y); $y = ereg_replace("[ ]", "-", $y);
s tem, da se tudi znebim dvojnih presledkov in morebitnega podvajanja "-" med wuhu in bla
sicer nevem a je tole glih kaka dobra ideja, verjetno obstaja še kakšna. Uglavnem malo pomoči bi rabil še, kako se znebit pik v stringu, s tem da ne uničim zadnje pred končnico?
Poldi112 ::
Kaj pa če na koncu -jpg zamenjaš nazaj v .jpg? Glede dvojnih presledkov, lahko pač vse spremeniš v '-', nato pa zamenjaš vse '--' z '-'. Ali pa preveriš, če za to obstajajo kakšne še spisane funkcije.
Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.
krho ::
BTW: ereg je deprecated.. uporabi preg..
Če bi programiral z vklopljenimi napakami in error_reporting = E_ALL | E_STRICT bi to vedel
P.S. deprecated je v 5.3
Če bi programiral z vklopljenimi napakami in error_reporting = E_ALL | E_STRICT bi to vedel
P.S. deprecated je v 5.3
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Zgodovina sprememb…
- spremenil: krho ()
Veron ::
hvala za opozorilo, sm sicer malo googlal in našel obstoječe funkcije za kreiranje SEO linkov
edino kar me moti je, tale pika :-/, nebi je imel, vendar je problem, ker isto funkcijo uporabljam še za popravljanje imen fajlov, ki se nalagajo, kje pač mora biti pika zadaj pred končnico, edino, če bi odrezal končnico prvo fajlu, nato ime dal čez SEO funkcijo in na konc nazaj samo prilepil končnico?
$string = trim($string); if(ctype_digit($string)) { return $string; } else { // replace accented chars $accents = '/&([A-Za-z]{1,2})(grave|acute|circ|cedil|uml|lig);/'; $string_encoded = htmlentities($string,ENT_NOQUOTES,'UTF-8'); $string = preg_replace($accents,'$1',$string_encoded); // clean out the rest $replace = array('([\40])','([^a-zA-Z0-9-.])','(-{2,})'); $with = array('-','','-'); $string = preg_replace($replace,$with,$string); } return strtolower($string);
edino kar me moti je, tale pika :-/, nebi je imel, vendar je problem, ker isto funkcijo uporabljam še za popravljanje imen fajlov, ki se nalagajo, kje pač mora biti pika zadaj pred končnico, edino, če bi odrezal končnico prvo fajlu, nato ime dal čez SEO funkcijo in na konc nazaj samo prilepil končnico?
McAjvar ::
Poskusi s temle
Ce nisem kje zajebal, bi tole skoraj moralo delat - zamenja vse pike, razen zadnje, z vezaji.
Edit: Popravil podcrtaj v vezaj v replacement stringu.
$string = preg_replace('/(?(?=([\.])[^\.]*\1)\.|-)/', '-', $string);
Ce nisem kje zajebal, bi tole skoraj moralo delat - zamenja vse pike, razen zadnje, z vezaji.
Edit: Popravil podcrtaj v vezaj v replacement stringu.
"[...] the advance of civilization is nothing
but an exercise in the limiting of privacy."
- Isaac Asimov
but an exercise in the limiting of privacy."
- Isaac Asimov
Zgodovina sprememb…
- spremenil: McAjvar ()
Veron ::
hvala, to je to zdej :-)
ps: verjetno obstaja kje dokumentacija vseh teh "znakov" (pravil). imaš mogoče link, ker sam ne najdem?
ps: verjetno obstaja kje dokumentacija vseh teh "znakov" (pravil). imaš mogoče link, ker sam ne najdem?
Zgodovina sprememb…
- spremenil: Veron ()
keworkian ::
hvala, to je to zdej :-)
ps: verjetno obstaja kje dokumentacija vseh teh "znakov" (pravil). imaš mogoče link, ker sam ne najdem?
http://www.regular-expressions.info/tut...
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Javascript DOM based XSS vulnerabilityOddelek: Programiranje | 2827 (2249) | MrStein |
» | PHP - stringiOddelek: Izdelava spletišč | 1784 (1607) | pehape |
» | [php]$_POST iz šumnikov v nešumnikeOddelek: Izdelava spletišč | 1598 (1510) | Gost |
» | Regularni izrazi....Oddelek: Programiranje | 2340 (1729) | BigWhale |
» | [php]: preprost problem in preg_replace()Oddelek: Izdelava spletišč | 1132 (1070) | R33D3M33R |