Autor | Zpráva | ||
---|---|---|---|
Mixsak Profil * |
Potřebuju script, který na serveru otevre soubor a vyhleda treba (xD) a nahradi to obrazkem.
|
||
mckay Profil |
Mixsak:
„Potřebuju script, který na serveru otevre soubor a vyhleda treba (xD) a nahradi to obrazkem.“ Teorie je takováto -> Načteš do proměnné obsah souboru, pomocí str_replace(); nahradíš xD obrázkem -> Zapíšeš do toho souboru změněný obsah. |
||
Mixsak Profil * |
Tady je zdrový kód je to knihu náštev a nevim jak to mam napsat. Mohl bysmi poradit?
<? //odstraneni nebezpecnych znaku $jmeno = HTMLSpecialChars($jmeno); $email = HTMLSpecialChars($email); $web = HTMLSpecialChars($web); //formatovani prispevku $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); //bereme pouze 1500 znaku $zprava = Trim($zprava); //odstraneni mezer z konce retezce $zprava = HTMLSpecialChars($zprava); //odstraneni nebezpecnych znaku $zprava = Str_Replace("\n"," <BR> ", $zprava); //nahrazeni koncu radku na tagy <BR> $znak = 66; //dlouha slova delit po .. znacich $slovo = Split("[[:blank:]]+", $zprava); //rozdeleni textu na slova for($y=0;$y<Count($slovo);$y++): $slovo[$y] = Trim($slovo[$y]); //odstraneni mezer na konci slova if (Strlen($slovo[$y])<=$znak): //nebudeme delit if (EregI("^(www\..+\..{2,3})$", $slovo[$y])): //jedna se odkaz typu www...... $odkaz = EregI_Replace("^(www\..+\..{2,3})$", "<a href=http://\\1>\\1</a> ", $slovo[$y]); elseif (EregI("^(http://.+\..{2,3})$;", $slovo[$y]))://jedna se odkaz typu http://....... $odkaz = EregI_Replace("^(http://.+\..{2,3})$;", "<a href=\\1>\\1</a> ", $slovo[$y]); else: $odkaz = $slovo[$y] . " "; //jedna se o normalni slovo endif; $celek .= $odkaz; //spojime vsechny slova opet dohromady else: $delit = Ceil(StrLen($slovo[$y])/$znak); //delime dlouhe slovo for($z=0;$z<$delit;$z++): $cast = Substr($slovo[$y], $z*$znak, $znak); $celek .= $cast . " - "; //na konec jednotlivych casti pridame pomlcku endfor; endif; endfor; //povolime tyto tagy <b> <u> <i> $zprava = Str_Replace("<b>", "<b>", $celek); $zprava = Str_Replace("</b>", "</b>", $zprava); $zprava = Str_Replace("<i>", "<i>", $zprava); $zprava = Str_Replace("</i>", "</i>", $zprava); $zprava = Str_Replace("<u>", "<u>", $zprava); $zprava = Str_Replace("</u>", "</u>", $zprava); $zprava = "<tr><td class=text><br>$zprava</td></tr></table><hr color=#000000>\n"; $write = StripSlashes($jmeno . $email . $www . $cas . $zprava); //odstraneni escape sekvenci if (File_Exists ("book.dat")): //existuje soubor book.dat $fp = FOpen ("book.dat", "r"); //otevře soubor book.dat pro čtení $data = FRead ($fp, FileSize("book.dat")); //přečte data ze souboru a uloží do proměnné "data" - kvůli tomu aby se zobrazoval poslední příspěvek nahoře FClose($fp); //zavře book.dat endif; $fp = FOpen ("book.dat", "w"); //otevře book.dat pro přepis nebo vytvoření FWrite ($fp, $write.$data); //zápis do souboru book.dat (nejprve aktuální příspěvek, poté předešlý obsah souboru book.dat) FClose ($fp); //zavře soubor book.dat ?> <html><head> <META HTTP-EQUIV="Refresh" CONTENT="0; URL=index.php3"> </head></html> Moderátor Majkl578: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
mckay Profil |
#4 · Zasláno: 18. 4. 2010, 19:04:29 · Upravil/a: mckay
Mixsak:
Nehorázná prasárna, ale budiž. Příště to vkládej do , lépe se mi v tom potom orientuje. V tomhle případě bych to nahrazoval už při odesílání zprávy: <? //odstraneni nebezpecnych znaku $jmeno = HTMLSpecialChars($jmeno); $email = HTMLSpecialChars($email); $web = HTMLSpecialChars($web); //formatovani prispevku $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); //bereme pouze 1500 znaku $zprava = Trim($zprava); //odstraneni mezer z konce retezce $zprava = HTMLSpecialChars($zprava); //odstraneni nebezpecnych znaku $zprava = Str_Replace("\n"," <BR> ", $zprava); //nahrazeni koncu radku na tagy <BR> $znak = 66; //dlouha slova delit po .. znacich $slovo = Split("[[:blank:]]+", $zprava); //rozdeleni textu na slova for($y=0;$y<Count($slovo);$y++): $slovo[$y] = Trim($slovo[$y]); //odstraneni mezer na konci slova if (Strlen($slovo[$y])<=$znak): //nebudeme delit if (EregI("^(www\..+\..{2,3})$", $slovo[$y])): //jedna se odkaz typu www...... $odkaz = EregI_Replace("^(www\..+\..{2,3})$", "<a href=http://\\1>\\1</a> ", $slovo[$y]); elseif (EregI("^(http://.+\..{2,3})$;", $slovo[$y]))://jedna se odkaz typu http://....... $odkaz = EregI_Replace("^(http://.+\..{2,3})$;", "<a href=\\1>\\1</a> ", $slovo[$y]); else: $odkaz = $slovo[$y] . " "; //jedna se o normalni slovo endif; $celek .= $odkaz; //spojime vsechny slova opet dohromady else: $delit = Ceil(StrLen($slovo[$y])/$znak); //delime dlouhe slovo for($z=0;$z<$delit;$z++): $cast = Substr($slovo[$y], $z*$znak, $znak); $celek .= $cast . " - "; //na konec jednotlivych casti pridame pomlcku endfor; endif; endfor; //povolime tyto tagy <b> <u> <i> $zprava = Str_Replace("<b>", "<b>", $celek); $zprava = Str_Replace("</b>", "</b>", $zprava); $zprava = Str_Replace("<i>", "<i>", $zprava); $zprava = Str_Replace("</i>", "</i>", $zprava); $zprava = Str_Replace("<u>", "<u>", $zprava); $zprava = Str_Replace("</u>", "</u>", $zprava); $zprava = "<tr><td class=text><br>$zprava</td></tr></table><hr color=#000000>\n"; $zprava = str_replace("xD", "<img src=\"http://nejakyweb/obrazek.png\" alt=\"Vytlem\" />", $zprava); $write = StripSlashes($jmeno . $email . $www . $cas . $zprava); //odstraneni escape sekvenci if (File_Exists ("book.dat")): //existuje soubor book.dat $fp = FOpen ("book.dat", "r"); //otevře soubor book.dat pro čtení $data = FRead ($fp, FileSize("book.dat")); //přečte data ze souboru a uloží do proměnné "data" - kvůli tomu aby se zobrazoval poslední příspěvek nahoře FClose($fp); //zavře book.dat endif; $fp = FOpen ("book.dat", "w"); //otevře book.dat pro přepis nebo vytvoření FWrite ($fp, $write.$data); //zápis do souboru book.dat (nejprve aktuální příspěvek, poté předešlý obsah souboru book.dat) FClose ($fp); //zavře soubor book.dat ?> |
||
Mixsak Profil * |
#5 · Zasláno: 18. 4. 2010, 19:10:50
Za to se omlouvám. Hlavně vám moc děkuju.
|
||
Časová prodleva: 14 let
|
0