Forum » Programiranje » šumniki pretvarjanje z php
šumniki pretvarjanje z php
crystal ::
LP
zanima me če se da ko kličem iz baze spremenljivke, ki vsebujejo šumnike, pretvorim v navadne recimo
Šuštar v sustar
Žaba v zaba etc.. in če se da naredit kako množično preverjanje al je potrebno vsako besedo posebej pregledati če ima vseh šest šumnikov ( z velikimi in malimi črkami)
hvala
zanima me če se da ko kličem iz baze spremenljivke, ki vsebujejo šumnike, pretvorim v navadne recimo
Šuštar v sustar
Žaba v zaba etc.. in če se da naredit kako množično preverjanje al je potrebno vsako besedo posebej pregledati če ima vseh šest šumnikov ( z velikimi in malimi črkami)
hvala
Gost ::
Take funkcije mislim, da v php-ju ni. Potrebno bo vsakega posebej in velike ter male posebej.
Wasted ::
Ke?
ostale šumnike pa si sam dodaj noter
$str = str_replace(array('Š', 'č', 'ž'), array('S', 'c', 'z'), $str);
ostale šumnike pa si sam dodaj noter
When I'm done there will be nothing left of you...
Gost ::
Če imaš problem s šumniki boš imel lahko problem tudi z vsemi ostalimi znaki izven osnovnega nabora: ß, ö, ü, ä ...
Meni str_replace ne deluje s šumniki. Morda kaj takega:
Meni str_replace ne deluje s šumniki. Morda kaj takega:
// trim and lowercase $text = mb_strtolower(trim($text), 'UTF-8'); // čšćđž -> cscdz $patterns = array("č", "š", "ć", "đ", "ž"); $replacements = array("c", "s", "c", "d", "z"); foreach($patterns as $key=>$pattern) { $text = mb_ereg_replace($pattern, $replacements[$key], $text); }
techfreak :) ::
Meni str_replace ne deluje s šumniki.
<?php header ('Content-type: text/html; charset=utf-8'); $str="ačžčsdfsdsdčščščžžščdsfž"; print $str ."<br />"; $str = str_replace(array('Š', 'č', 'ž'), array('S', 'c', 'z'), $str); print $str; ?>
Izpis:
ačžčsdfsdsdčščščžžščdsfž
aczcsdfsdsdcšcšczzšcdsfz
Zakaj ne bi delovalo?
Zgodovina sprememb…
- spremenil: techfreak :) ()
crystal ::
ačžčsdfsdsdčščščžžščdsfž
aczcsdfsdsdcšcšczzšcdsfz
v drugi vrstici imaš pe vedno "Š" je vrjetno zato ne deluje
aczcsdfsdsdcšcšczzšcdsfz
v drugi vrstici imaš pe vedno "Š" je vrjetno zato ne deluje
Ice-Heki ::
crystal:
V drugi vrstici ima Šje zato, ker so v prvotnem nizu mali š-ji, on pa je s str_replace zamenjal veliki Š v mali s. Nikjer ni zamenjal malega š-ja z malim s, zato so mali š-ji ostali nespremenjeni.
V drugi vrstici ima Šje zato, ker so v prvotnem nizu mali š-ji, on pa je s str_replace zamenjal veliki Š v mali s. Nikjer ni zamenjal malega š-ja z malim s, zato so mali š-ji ostali nespremenjeni.
techfreak :) ::
<?php header ('Content-type: text/html; charset=utf-8'); $str="ŠČŠščšžčžšžšžčŽČŠŽČŠŽčŠČžščšŽŠČŠŽČŠŽčžćžšžčžčšžčšžČŠŽČŠŽČŠčžščšžčžščšžčžščšžčšžčšžčžčžščšžčšŠČŽČŠČŠŽŽŠ"; print $str ."<br />"; $str = str_replace(array('č', 'ž', 'š', 'Č', 'Ž', 'Š'), array('c', 'z', 's', 'C', 'Z', 'S'), $str); print $str; ?>
ŠČŠščšžčžšžšžčŽČŠŽČŠŽčŠČžščšŽŠČŠŽČŠŽčžžšžčžčšžčšžČŠŽČŠŽČŠčžščšžčžščšžčžščšžčšžčšžčžčžščšžčšŠČŽČŠČŠŽŽŠ
SCSscszczszszcZCSZCSZcSCzscsZSCSZCSZczzszczcszcszCSZCSZCSczscszczscszczscszcszcszczczscszcsSCZCSCSZZS
Lahko pa dodaš še ostale znake, ki ti delajo težave.
Zgodovina sprememb…
- spremenil: techfreak :) ()
Gandalfar ::
Kaj je pa s tem narobe: http://stackoverflow.com/questions/1582...
da morate lastne regular expressione izumljat? :)
da morate lastne regular expressione izumljat? :)
techfreak :) ::
crystal ::
oprosti tvoja metoda je super in mi bo prišla zelo zelo prav :D
gandalfalova metoda je zanič :D
gandalfalova metoda je zanič :D
Wasted ::
Tista z iconv je vredu, edino mislim, da ne podpira vseh znakov, ć ali neki podobnega ni podprt.
When I'm done there will be nothing left of you...
techfreak :) ::
Tista z iconv je vredu, edino mislim, da ne podpira vseh znakov, ć ali neki podobnega ni podprt.
Prav imaš. ć spremeni v 'c
čžš in tudi đ pa normalno spremeni.
<?php setlocale(LC_ALL, 'en_US.UTF8'); $tekst="sććććfčsdfćdsfopšžfšlfšđžfldšsžćđđščžčž"; echo iconv("utf-8","ascii//TRANSLIT",$tekst); ?>
Izpis:
s'c'c'c'cfcsdf'cdsfopszfslfsdzfldssz'cddsczcz
Wasted ::
Ja točno, pri Đ sem jaz opazil, sicer pa lahko dodaš še str_replace za ti dve črki oziroma štiri če imaš še velike. Jaz pa mislim, da imam v mojih sistemih vse s str_replace, ker ko recimo rabiš kakšno takšno funkcijo še za angleški jezik moraš znova paziti na ' ki jih dobiš iz baze kot ' pa ti tole naredi celo zmešnjavo potem :) .
When I'm done there will be nothing left of you...
Gost ::
techfreak,
aha sedaj mi deluje str_replace, ki je potreboval še definiran header. Nekam nadležno, da moraš to definirati.
Tole z iconv je pa najboljša implementacija se mi zdi!
aha sedaj mi deluje str_replace, ki je potreboval še definiran header. Nekam nadležno, da moraš to definirati.
Tole z iconv je pa najboljša implementacija se mi zdi!
Zgodovina sprememb…
- spremenil: Gost ()
techfreak :) ::
header ni potrebno definirati, uporabljam ga zaradi tega, ker sem želel pri prvem print-u izpisati v utf-8. No pa saj to je tako logično, da se mora header definirati, nekateri to naredijo v PHPju drugi pa pri spletnem strežniku.
Drugače je pa z iconv nekje 2,5x hitrejše kot pa s str_replace.
Drugače je pa z iconv nekje 2,5x hitrejše kot pa s str_replace.
MrBrdo ::
<?php setlocale(LC_ALL, 'en_US.utf8'); $tekst="sććććfčsdfćdsfopšžfšlfšđžfldšsžćđđščžčž"; $s = iconv("utf-8","ascii//TRANSLIT",$tekst); ob_start(); for ($i=0; $i<strlen($s); $i++) if (($c = $s[$i]) != '\'') echo $c; $s = ob_get_contents(); ob_end_clean(); echo $s; ?>
Meni sicer đ-je spremeni v vprašaje, medtem ko mi pri ćjih ne da ' spredaj...
Pomoje je še najbol zanesljivo kar z str_replace :)
MrBrdo
Zgodovina sprememb…
- spremenilo: MrBrdo ()
FrEaKmAn ::
priporočam, da si pogledaš metodo unaccent na http://github.com/doctrine/doctrine1/bl... - stvar je stestirana in deluje
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [php] encoding nizaOddelek: Izdelava spletišč | 3824 (1739) | BivšiUser2 |
» | [PHP]Zamenjava šumnikov z html kodamiOddelek: Programiranje | 4074 (2352) | mikesr |
» | [php]$_POST iz šumnikov v nešumnikeOddelek: Izdelava spletišč | 1614 (1526) | Gost |
» | Seškoti...PHP ali MySqlOddelek: Izdelava spletišč | 1297 (1205) | rkasteli |
» | MySQL in czsOddelek: Izdelava spletišč | 3611 (2701) | krho |