PHP odstranění slov s lower-case znaky

HackForum

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 | E-mail | Website | PGP26.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 | E-mail | Website | PGP28.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 | E-mail | Website | PGP30.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)
JaKoB | E-mail29.1.2009 21:17
re: PHP odstranění slov s lower-case znaky #
samozřejmě return
(odpovědět)
JaKoB | E-mail29.1.2009 21:18
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)
JaKoB | E-mail29.1.2009 21:21
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 | E-mail | Website | PGP5.2.2009 14:58

Zpět
 
 
 

 
BBCode