PHP odstranění slov s lower-case znaky | # |
| Dobrý den.
Dostal sem "domácí úkol" nad kterým si lámu hlavu již nekolik dní.
Zadání
napsat funkci: baseFormName($string), která vrátí řetězec, který vznikne ze $string aplikací následujících pravidel:
-z řetězce budou odstraněna slova, ve kterých nejsou všechna písmena velká.
-z řetězce budou odstraněny všechny znaky mezera, pomlčka, tečka, lomítko
Druhou část příkladu už sem vyřešil ale nemohu přijít na to jak vyřešit první část.
<?php
baseFormName(něco);
function baseForName($string);
{
$newString=$string;
str-replace(" ","",$newString);
str-replace("-","",$newString);
str-replace(".","",$newString);
str-replace("/","",$newString);
return($newString);
}
?>
Dokázal by mi někdo pomoct? Už sem opravdu zoufalý. (odpovědět) | maarky | 88.100.18.* | 26.1.2009 22:07 |
|
|
|
re: PHP odstranění slov s lower-case znaky | # |
| chybi ti naproste zaklady jazyka PHP. kod, ktery jsi napsal, je nefunkcni nesmysl.
<?php
function baseForName($string) {
$string = ereg_replace("[A-Z]{1}[a-z]+|[a-z]*", '', $string);
$string = str_replace(array(' ','-','.','/'),
array('','','',''), $string);
return($string);
}
?> (odpovědět) | Emkei | | | | 26.1.2009 23:24 |
|
|
|
re: PHP odstranění slov s lower-case znaky | # |
| A co slovo jako je treba xxX. A co diakritika? Myslim, ze ti ty zaklady taky trosku chybi. (odpovědět) | jqgmau | 195.189.142.149/217.77.165.* | 28.1.2009 7:40 |
|
|
|
re: PHP odstranění slov s lower-case znaky | # |
| samozrejme, slov s velkym pismenem na konci existuje bilion a jejich znalost patri k zakladum jazkya PHP, ze mistre? k cemu ma ta funkce slouzit a s jakymi slovy bude pracovat, nevim, to uz si musi doladit ten, kdo tyto informace ma, uz ti to doslo? (odpovědět) | Emkei | | | | 28.1.2009 11:36 |
|
|
|
re: PHP odstranění slov s lower-case znaky | # |
| ne asi :D mistre
jen je to s tou diakritikou trosku slozitejsi, tak si mohl poradis spis aji to a ne poradit to, na co by po po chvilce prisel i sam :) a zaklady nahodou docela umi :) (odpovědět) | sdgfnf | 194.228.223.* | 29.1.2009 23:59 |
|
|
|
re: PHP odstranění slov s lower-case znaky | # |
| zaklady ceho? mozna tak psani na pocitaci. ten kod obsahuje vic chyb nez radku, takze dost pochybuji o tom, ze by na spravne reseni "prisel po chvilce sam". (odpovědět) | Emkei | | | | 30.1.2009 15:19 |
|
|
|
re: PHP odstranění slov s lower-case znaky | # |
| Toto by melo fungovat:
function baseForName($str)
{
$str = preg_replace("/\\b\\w*[a-z]\\w*\\b/", "", $str);
$repl = array(' ','-','.','/');
$str = str_replace($repl, '', $str);
return $str;
}
(odpovědět) | neimenuje | 195.47.18.* | 29.1.2009 16:54 |
|
|
|
re: PHP odstranění slov s lower-case znaky | # |
| ...nebo rovnou
function baseForName($string)
{
return preg_replace("/\\b\\w*[a-z]\\w*\\b| |\\-|,|\\.|\\//", "", $string);
}
(odpovědět) | neimenuje | 195.47.18.* | 29.1.2009 17:01 |
|
|
|
re: PHP odstranění slov s lower-case znaky | # |
| A pokud nemuzes pouzit regulerni vyrazy, tak se to da resit pomoci ASCII tabulky, jednoho cyklu for a pomocneho retezce :D, aspon myslim a jede to v O(N) + par ifu :D (odpovědět) | babca | 193.86.144.* | 29.1.2009 18:18 |
|
|
|
re: PHP odstranění slov s lower-case znaky | # |
| Ja bych to nekomplikoval
function baseForName($string)
{
$retezec=StrTr(StrToLower($string), "áäčďéěëíňóöřšťúůüýžÁÄČĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽ", "aacdeeeinoorstuuuyzAACDEEEINOORSTUUUYZ");
$znaky=array(" ","-",".","/");
returt str_replace($znaky,"",$retezec);
}
pro nekoho silene reseni, ale proc cpat regulární výrazy tam kde nejsou nutně potřeba a někdy i zbytečné, že.
} (odpovědět) | |
|
|
re: PHP odstranění slov s lower-case znaky | # |
| samozřejmě return (odpovědět) | |
|
|
re: PHP odstranění slov s lower-case znaky | # |
| zpětně si říkám je to kravina... takhle to je lepší..;)
function baseForName($string)
{
$retezec=StrToLower(StrTr($string, "áäčďéěëíňóöřšťúůüýžÁÄČĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽ", "aacdeeeinoorstuuuyzAACDEEEINOORSTUUUYZ"));
$znaky=array(" ","-",".","/");
return str_replace($znaky,"",$retezec);
} (odpovědět) | |
|
|
re: PHP odstranění slov s lower-case znaky | # |
| JaKoB: Debile umis cist zadani? Nes tu zacnes blejt tendle kod?
"-z řetězce budou ODSTRANENA slova, ve kterých nejsou všechna písmena velká." (odpovědět) | babca | 193.86.144.* | 30.1.2009 19:21 |
|
|
|
re: PHP odstranění slov s lower-case znaky | # |
| V článku je chybička je tam str-replace a má tam být str_replace (odpovědět) | Ulík | 90.178.62.* | 5.2.2009 13:46 |
|
|
|
re: PHP odstranění slov s lower-case znaky | # |
| tam je tech chyb mnohem vice: str_replace() je funkce, nikoliv procedura, musi tedy svuj vystup nekam ukladat, za jmenem funkce se nedela strednik a naprosto zbytecne se kopiruje obsah promenne $string do $newString. (odpovědět) | Emkei | | | | 5.2.2009 14:58 |
|
|
|