Autore Topic: "&amp" al posto di "&"  (Letto 762 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Flavio93Zena

  • Staff IS
  • *******
  • Post: 3090
  • Sesso: Maschio
  • Sniper Legends
    • Mostra profilo
  • Versione SMF: 2.0.x
  • Versione ElkArte: -
"&amp" al posto di "&"
« il: Venerdì, 23 Gennaio 2015 23:51 »
Come dice il titolo... Mi accade che il "&" venga sostituito da "&amp" nei titoli dei topic --> http://virtualinteractivege.com/index.php?topic=85.0 per esempio questo qui...
Onestamente non so spiegarmelo. Da notare però che ho effettuato qualche modifica al post.php --> http://www.simplemachines.org/community/index.php?topic=529975.0 sia quelle di Arantor sia quelle di Fortytwo.
Idee? Il forum è sempre stato Utf-8 e tutto il resto funziona a dovere, per quel che ne so è solo quel carattere a rompere i Roberto Maroni...

Grazie in anticipo :)

Offline emanuele

  • Amministratore IS
  • *******
  • Post: 5056
    • Mostra profilo
    • ElkArte
  • Versione SMF: Altro
  • Versione ElkArte: 1.0.x
Re:"&amp" al posto di "&"
« Risposta #1 il: Sabato, 24 Gennaio 2015 10:11 »
Codice: [Seleziona]
// Spaces after punctuation except for last one
$_POST['subject'] = trim(preg_replace('~([!,\.;:&])~', '$1 ', $_POST['subject']));
Dovrebbe probabilmente essere:
Codice: [Seleziona]
// Spaces after punctuation except for last one
$_POST['subject'] = trim(preg_replace('~([!,\.;:])~', '$1 ', $_POST['subject']));
Correggere la punteggiatura via codice non è mai una buona idea IMHO. Meglio se gli insegnanti di italiano facessero il loro dovere (bastonando chi non impara invece di farli passare perché altrimenti restano traumatizzati <= parla quello che aveva 4 di grammatica).
« Ultima modifica: Sabato, 24 Gennaio 2015 13:16 da emanuele »

Offline Flavio93Zena

  • Staff IS
  • *******
  • Post: 3090
  • Sesso: Maschio
  • Sniper Legends
    • Mostra profilo
  • Versione SMF: 2.0.x
  • Versione ElkArte: -
Re:"&amp" al posto di "&"
« Risposta #2 il: Sabato, 24 Gennaio 2015 14:06 »
Fastidiosissimo edge case...
Facendo così in pratica si auto-trimma lo spazio antecedente il "&", cioè "Posts & Karma rewards" diventa "Posts& Karma rewards"... Però siccome sono in vena di guardare quel che hai fatto e seguire lo schema...
Codice: (trova) [Seleziona]
$_POST['subject'] = preg_replace('~\s+([!,\.;:&])\s*~', '$1', $_POST['subject']); è diventato
Codice: (sostituisci) [Seleziona]
$_POST['subject'] = preg_replace('~\s+([!,\.;:])\s*~', '$1', $_POST['subject']); e ora funziona come dovrebbe :D grazie mille, preziosissimo!

P.s. Seriamente avevi 4 in grammatica? Azz sarà... Io ero arrivato al 9 ma non vedo differenze nel modo di scrivere, tranne per il fatto che tu sei più coder, onestamente non ho mai visto un errore grammaticale da parte tua IIRC.
E.. Lo so che non è una buona idea correggere via codice ma dovresti anche considerare il numero di bambini che verrà sul forum a spammare titoli come "OMG OMG!!!??!!!!111" e simili... Lol.

Offline emanuele

  • Amministratore IS
  • *******
  • Post: 5056
    • Mostra profilo
    • ElkArte
  • Versione SMF: Altro
  • Versione ElkArte: 1.0.x
Re:"&amp" al posto di "&"
« Risposta #3 il: Sabato, 24 Gennaio 2015 16:18 »
Tecnicamente non è un edge case, ma più un errore di valutazione di Arantor. :P
$_POST['subject'] a quel punto è probabilmente passato (di già) attraverso htmlspecialchars, quindi & è stato convertito in &amp; quindi quel che lui ha postato con il secondo preg_replace andava/va a spezzare il &amp; in "& amp;" con il risultato che vedi.
Non conosco la grammatica inglese, ma la & la vedrei o attaccata ad entrambe le parole o staccata da entrambe, non attaccata alla prima e staccata dalla seconda, ma... boh.
Poi, se non ricordo male, la grammatica inglese prevederebbe il doppio spazio dopo la punteggiatura...o è quella francese?... non ricordo ma, fondamentalmente, chissene. :P

Offline Flavio93Zena

  • Staff IS
  • *******
  • Post: 3090
  • Sesso: Maschio
  • Sniper Legends
    • Mostra profilo
  • Versione SMF: 2.0.x
  • Versione ElkArte: -
Re:"&amp" al posto di "&"
« Risposta #4 il: Sabato, 24 Gennaio 2015 19:47 »
;D se non fossi bannato e in altri tempi lo punzecchierei per questo, lol.
Onestamente non lo so riguardo alla grammatica inglese... Personalmente quel simbolo lo metto staccato da entrambe le parti perchè mi piace di più :)

non ricordo ma, fondamentalmente, chissene. :P
+1

 

Funzione tasto "risolto"

Aperto da titaniumSezione Mods - Modifiche SMF

Risposte: 18
Visite: 5484
Ultimo post Mercoledì, 27 Febbraio 2013 14:36
da titanium
Oggetto dei Topic: eliminare la scritta "Aperto da:"

Aperto da ibernetSezione SMF 2.0

Risposte: 2
Visite: 2028
Ultimo post Martedì, 16 Aprile 2013 12:54
da ibernet
Visualizzare "Sommario del Topic"

Aperto da i_fiorentinoSezione SMF 2.0

Risposte: 22
Visite: 5750
Ultimo post Domenica, 07 Luglio 2013 13:49
da emanuele
SimplePortal 2.3.7 © 2008-2018, SimplePortal