Autor Zpráva
davidmyska
Profil
Dobrý den, chci se zeptat jak mám zajistit aby při vkládání zprávy (viz kód) se mi místo uvozovek ve zprávě napsal jiný znak např.: když někdo do zprávy napíše: "text" tak aby se mi to do souboru data.txt uložilo jako: *text* (ovšem nemusí to být hvězdičky).
<?php
$name = $_POST['name']; 
$date = date('j.n.Y H:i');
$text = $_POST['text']; 
$text = substr($text, 0, 10000);
if ($text!=""){ 
$fp = FOpen ("data.txt", "r");
$old = FRead ($fp, FileSize("data.txt")); 
$all = "<hr>\n<b>".$date."</b>\n<!--".$name."-->\n".$text."\n".$old; 
$file = fopen ('data.txt','w'); 
fwrite ($file, $all); 
fclose ($file);
FClose ($fp);
} 
header ('location:index.php');
?>
a ještě mám dotaz jest-li, když odstraním řádek 5 tak jest-li délka textu může být neomezená?

předem díky
Someone
Profil
str_replace("!","Vykřičník",$text);
Nahradí znak ! slovem Vykřičník
davidmyska
Profil
to je to co jsem hledal ale můžete mi ještě pomoci jak tam zapsat znak uvozovek.
Bertram
Profil
Tak,
"\""
nebo
'"'
davidmyska
Profil
ani jedno mi nejede
Someone
Profil
$text = mysql_real_escape_string($_POST['text']);
$text = str_replace("\\"","*",$text);
Co toto?
davidmyska
Profil
už to mám takto mi to funguje:
$text = str_replace('\"',"*",$text);
Someone
Profil
jak vypadá tvůj kód nyní?
davidmyska
Profil
takto a dokonce se mi tam píši i uvozovky ale bez lomítka
<?php
$name = $_POST['name']; 
$date = date('j.n.Y H:i');
$text = $_POST['text'];
$text = substr($text, 0, 10000);
$text = str_replace('\"',"&quot;",$text);
if ($text!=""){ 
$fp = FOpen ("data.txt", "r");
$old = FRead ($fp, FileSize("data.txt")); 
$all = "<hr>\n<b>".$date."</b>\n<!--".$name."-->\n".$text."\n".$old; 
$file = fopen ('data.txt','w'); 
fwrite ($file, $all);
fclose ($file);
FClose ($fp);
} 
header ('location:index.php');
?>
Bertram
Profil
davidmyska:
Ono bude záležet na tom, jak ošetřuješ data z formuláře.
např. po,
$text = htmlspecialchars($_POST['text']);
by mohlo fungovat
$nahrada = str_replace("&quot;","*",$text);
davidmyska
Profil
já už to měnit nebudu já jsem rád že mi to funguje,
ještě bych se chtěl zeptat jak je to s tím pátým řádkem
Bertram
Profil
Mám pocit, že máš zaplé magic quotes, raději si to ověř, jinak se v tom budeš plácat pořád.
davidmyska
Profil
můžete mi prosím alespoň trochu nastínit co to ten magic guotes vlastně je já vůbec nevím o co jde
Bertram
Profil
Nahlédni do FAQ.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: