View previous topic :: View next topic |
Author |
Message |
gog
Joined: 18 Jun 2004 Posts: 679 Location: zagreb
|
Posted: 23.06.2006 12:05 Post subject: form processing |
|
|
Do sada sam stvari radio nekako ovako:
Nakon postanja forme ide:
Code: | function quote_smart($value)
{
// Stripslashes
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
// Quote if not a number or a numeric string
if (!is_numeric($value)) {
$value = mysql_real_escape_string($value);
}
return $value;
} |
Kako bi se svugdje sve lijepo escapalo, vjerovali iline neki još uvijek imaju magic_quote uključen
Kada vraćam to nazad u formu za editiranje, ide nešto ala:
Code: | foreach ($row as $key=>$value) {
$search = array('&', '<', '>', '\'', '"');
$replace = array('&', '<', '>', ''', '"');
$row[$key] = str_replace($search, $replace, $value);
} |
zato kaj mi htmlspecialchars ujebu utf-8 znakove iz nekog razloga iako mu stavi utf-8 kao argument.
Da li je ovo gore bullet proof riješenje ili sam možda nešto zaboravio?
Ukoliko je netko spreman podijeliti samnom neku funkciju koja bi se sama brinula da ako su navodnici unutar <> da ih ostavi takvima, a ukoliko su van <> zagrada da ih zamijeni sa " bio bih jako zahvalan... |
|
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 23.06.2006 13:17 Post subject: |
|
|
Ma ne brini se oko navodnika... escape-aj samo & i <, mislim da će biti dovoljno |
|
|
Back to top |
|
|
gog
Joined: 18 Jun 2004 Posts: 679 Location: zagreb
|
Posted: 23.06.2006 14:29 Post subject: |
|
|
Neće, jer mi je naporno pisati " umjesto " svaki put kada pišem tekst ili kopi pejstam |
|
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 23.06.2006 18:09 Post subject: |
|
|
e sad si me izgubio
start over |
|
|
Back to top |
|
|
gog
Joined: 18 Jun 2004 Posts: 679 Location: zagreb
|
Posted: 23.06.2006 18:43 Post subject: |
|
|
OK, radi se u biti o dvije stvari. Ajmo ovako:
Kada pišeš nešto u HTML-u " postaje ", & postaje & i sl. No ukoliko je taj navodnik dio od recimo <a href="link">link</a> onda ga ne želiš zamijeniti sa "
Znači, imam text box u koji unesem:
Code: | bla bla bla "bla" bla bla <a href="link">bla</a> bla bla |
I želim taj string prije nego ga pohranim u bazu zamijeniti sa:
Code: | bla bla bla "bla" bla bla <a href="link">bla</a> bla bla |
p.s. Nisam znao da altgr+c kreira [ code ] [/code] |
|
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 24.06.2006 21:51 Post subject: |
|
|
Aha, tebe muči "pametni" escape?
Napravi regexp koji nalazi stvari koje ne želiš escape-ati (kao HTML tagove), zamijeni ih sa nekim proizvoljnim placeholderima, escapeaj sve i nakon toga zamijeni placeholdere sa originalnim tagovima
ILI
napravi jednostavan parser koji uzima blok po blok (serijski) i odlučuje da li će ga escape-ati ili neće (ako vidi da je tag onda neće) i kasnije sve slijepi natrag u jedan string? |
|
|
Back to top |
|
|
_butch
Joined: 10 Sep 2003 Posts: 870 Location: Maichno, Krlovc
|
Posted: 25.06.2006 14:54 Post subject: |
|
|
U biti mozes si napraviti svoj parser, recimo
Code: |
bla bla *bla* bla bla <a href="link">Klik</a>
|
ti parsa u
Code: |
bla bla "bla" <a href="link">Klik</a>
|
Tipa markdown ili textile.. |
_________________ FRENCH GUARD: No chance, English bed-wetting types.
I burst my pimples at you and call your door-opening request a silly thing, you tiny-brained wipers of other people's bottoms! Flikrac |
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 25.06.2006 16:56 Post subject: |
|
|
Haha ja sam popizdio nad PHP kad sam pisao Textile klon (TextilePHP je tiha jeza od 4000+ linija) te sam prešao na Ruby
Krenuo sam u njemu i vidio da je stvar već gotova - zove se RedCloth: oba Textile i Markdown u manje od 1000 linija
_butch: niti jedna Textile implementacija nije zapravo parser nego sve rade preko regexpa... parser je ipak malo kompliciranija stvar, ali jednostavan parser za samo ovo (pošto nije programski jezik) ne bi možda bilo teško napraviti |
|
|
Back to top |
|
|
_butch
Joined: 10 Sep 2003 Posts: 870 Location: Maichno, Krlovc
|
Posted: 25.06.2006 17:40 Post subject: |
|
|
Iako po meni su Textile i Markdown najgora rjesenja za takve stvari, bilokakav text formatting etc. etc.
Sulien: "parser" je uzet metaforicki i treba ga shvatiti pod debelim navodnicima. (opaska autora )
peace out!1 |
_________________ FRENCH GUARD: No chance, English bed-wetting types.
I burst my pimples at you and call your door-opening request a silly thing, you tiny-brained wipers of other people's bottoms! Flikrac |
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 25.06.2006 19:52 Post subject: |
|
|
Textile je predobra stvar. U Java implementaciji Textile-a si mogao napraviti cijelu stranicu samo plain-text markupom.
Koja su bolja rješenja? FCKeditor? Sigurno ne pisanje HTML-a ručno |
|
|
Back to top |
|
|
|