Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 13. 4. 2005, 18:38:17
Ahoj,
mám prosbu .. mám návštěvní knihu a chci tam vložit smajlíky *číslo* a vznikne z toho smajlík. Jenže tam mám 100 smajlíků,tak se mi těch sto řádků jen tak nelíbí. A navíc mi přijde, že mi to zpomaluje načítání. Tak jsem si udělala druhý soubor, kam jsem všech sto řádků zkopírovala. Ale teď nevím, jak to mám vložit, vím, že je to příkaz include, ale netuším, jak a kam to napsat :o/ Zkoušela jsem různé varianty, ale asi jsem psala samé blbosti. Zde je zdroják, do kterého to potřebuji dostat :o( ... prosím :o( <? $jmeno = HTMLSpecialChars($jmeno); $email = HTMLSpecialChars($email); $web = HTMLSpecialChars($web); $jmeno = "<table><tr><td class=jmeno>$jmeno</td></tr>"; $email = "<tr><td class=odkaz><A HREF=mailto:$email>$email</A></td></tr>"; if ($web!="" && $web!="http://"): $www = "<tr><td class=odkaz><A HREF=\"$web\">$web</A></td></tr>"; endif; $cas = "<tr><td class=cas>" . Date("j. " . "m. " . "Y, " . "H:i:s") . "</td></tr>"; $zprava = SubStr($zprava, 0, 1500); $zprava = Trim($zprava); $zprava = HTMLSpecialChars($zprava); $zprava = Str_Replace("\n"," <BR> ", $zprava); $znak = 66; $slovo = Split("[[:blank:]]+", $zprava); for($y=0;$y<Count($slovo);$y++): $slovo[$y] = Trim($slovo[$y]); if (Strlen($slovo[$y])<=$znak): if (EregI("^(www\..+\..{2,3})$", $slovo[y])): $odkaz = EregI_Replace("^(www\..+\..{2,3})$", "<a href=http://\\1>\\1</a> ", $slovo[$y]); elseif (EregI("^(http://.+\..{2,3})$", $slovo[$y])): $odkaz = EregI_Replace("^(http://.+\..{2,3})$", "<a href=\\1>\\1</a> ", $slovo[$y]); else: $odkaz = $slovo[$y] . " "; endif; $celek .= $odkaz; else: $delit = Ceil(StrLen($slovo[$y])/$znak); for($z=0;$z<$delit;$z++): $cast = Substr($slovo[$y], $z*$znak, $znak); $celek .= $cast . " - "; endfor; endif; endfor; $zprava = "<tr><td class=text><br>$zprava</td></tr></table><hr color=#0097e8>\n"; $write = StripSlashes($jmeno . $email . $www . $cas . $zprava); if (File_Exists ("book.dat")): $fp = FOpen ("book.dat", "r"); $data = FRead ($fp, FileSize("book.dat")); FClose($fp); endif; $fp = FOpen ("book.dat", "w"); FWrite ($fp, $write.$data); FClose ($fp); ?> |
||
Charlie Profil |
#2 · Zasláno: 13. 4. 2005, 18:40:20
A jak přesně vypadá ten soubor se smajlíkama?
|
||
Anonymní Profil * |
#3 · Zasláno: 13. 4. 2005, 18:44:35
Tam mám jen vloženy podmínky (či jak to nazvat) - 100x -
$zprava = str_replace("*1*", "<img src = \"http://dogdancing.wz.cz/smajlik/1.gif\" alt = \"Úsměv\">", $zprava); - když toto napíšu normálně v tom zdrojáku, co jsem poslala, tak mi to funguje, ale když to dám takto, tak ne a já netuším proč a jak |
||
Charlie Profil |
#4 · Zasláno: 13. 4. 2005, 18:46:41
Asi nahrazuješ string, moje řešení je asi tohle, předpokládám, že smajlíci jsou jako gif:
$smajlici_obrazky = array([1] => "happy","sad","crazy","mad",........); $slozka_obrazku = "smajlici/"; foreach ($smajlici_obrazky as $cislo => $smajlik_obrazek) { $zprava = str_replace('*'.$cislo.'*','<img src="'.$slozka_obrazku.$smajlik_obrazek.'.gif" alt="'.$smajlik_obrazek.'" />',$zprava); } a máš tam i pěkný alty:-) |
||
Charlie Profil |
#5 · Zasláno: 13. 4. 2005, 18:48:04
Ty jo, nechápu, jak si mohla napsat tolik stejnejch řádků, já dávám přednost cyklům. Je to rychlejší a když potřebuješ něco změnit, tak to tolik neštve:-)
|
||
Charlie Profil |
#6 · Zasláno: 13. 4. 2005, 18:50:01
Nevim, jestli o tom víš, ale PHP není "case-sensitive", takže je jedno, jestli napíšeš StripSlashes nebo stripslashes. Já to nepíšu, protože se mi to nechce pamatovat a je to zbytečný.
|
||
Charlie Profil |
#7 · Zasláno: 13. 4. 2005, 18:52:23
Jestli máš ty smajlíky očíslovaný podle čísel, které zaměňuješ, můžeš upravit část mého cyklu na:
$zprava = str_replace('*'.$cislo.'*','<img src="'.$slozka_obrazku.$cislo.'.gif" alt="'.$smajlik_obrazek.'" />',$zprava); |
||
Anonymní Profil * |
#8 · Zasláno: 13. 4. 2005, 18:52:29
Do háje, nechápu ani jednoho :o/
Charlie - což o to, to psaní neštvalo, štvalo pak to, že to nefunguje, tak jak chci :o))) |
||
Anonymní Profil * |
#9 · Zasláno: 13. 4. 2005, 18:55:10
Takže pro mne polopaticky
Když mám *1* a smajlík je pak 1.gif .... *2* a smajlík 2.gif atd, tak jak to mám napsat? Vůbec Tě nechápu :o/ |
||
Charlie Profil |
#10 · Zasláno: 13. 4. 2005, 18:59:45
Jo, přesně tak, vysvětlim:
Když bude $smajlici_obrazky[1] = "happy", tak to vypíše obrázek 1.gif s alt="happy" |
||
Charlie Profil |
#11 · Zasláno: 13. 4. 2005, 19:03:49
... chci tam vložit smajlíky *číslo* a vznikne z toho smajlík - to je pěkná věta:-)
|
||
Anonymní Profil * |
#12 · Zasláno: 13. 4. 2005, 19:10:26
Můžeš mi prosím Tě napsat přesně, co mám napsat? Stačí mi dva příklady (*1*, *2*) ... asi na mne leze jaro a už mi to vážně nemyslí :o( A nebo jsem totál blbec, což je větší pravděpodobnost :o)))
:oP no jo, už ani česky psát neumím :o))) (svedeme to na jaro :o)))) ) |
||
Charlie Profil |
#13 · Zasláno: 13. 4. 2005, 19:30:37
Před $zprava = "<tr><td class=text><br>$zprava</td></tr></table><hr color=#0097e8>\n"; napíšeš:
Smajlíci se nahradí |
||
Časová prodleva: 19 dní
|
|||
Anonymní Profil * |
#14 · Zasláno: 2. 5. 2005, 20:51:43
nechci nak prudit ale dalsi reseni je mozne takto hihihi:
<?php $uvozovky='"'; $smilec='smilecky'; if ($soubory = opendir('smilecky/')) { while (false !== ($file = readdir($soubory))) { if ($file != "." && $file != "..") { $genex = (filemtime("smilecky/$file")); $nacteni[$kos]="$replace['*$kos*']='<img src=$uvozovky$smilec/$file$uvozovky alt=$uvozovky*$kos*$uvozovky>";$kos++; }}} closedir($soubory); function replace_smile ($textik) { $textik = htmlspecialchars($textik); global $budlik; reset($budlik); while(list($bubu,$hop) = each($budlik)) $textik = str_replace($bubu,$hop,$textik); return $textik; } ?> |
||
cert Profil |
#15 · Zasláno: 2. 5. 2005, 20:56:11
|
||
cert Profil |
#16 · Zasláno: 2. 5. 2005, 20:57:43
zapomel jsem se prihlasit
<?php $uvozovky='"'; $smilec='smilecky'; if ($soubory = opendir('smilecky/')) { while (false !== ($file = readdir($soubory))) { if ($file != "." && $file != "..") { $genex = (filemtime("smilecky/$file")); $nacteni[$kos]="$replace['*$kos*']='<img src=$uvozovky$smilec/$file$uvozovky alt=$uvozovky*$kos*$uvozovky>";$kos++; }}} closedir($soubory); function replace_smile ($textik) { $textik = htmlspecialchars($textik); global $budlik; reset($budlik); while(list($bubu,$hop) = each($budlik)) $textik = str_replace($bubu,$hop,$textik); return $textik; } ?> tak jeste jednou |
||
Časová prodleva: 20 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0