Ho bisogno di disinfettare i titoli degli articoli quando gli utenti (creativi) cercano di "attirare l'attenzione" con alcune ripetizioni non alfanumiche.Sanitizza una stringa con ripetizione non alphaum
Esempi:
- acquistare il mio prodotto !!!!!!!!!!!!!!!!!!!!!!!!
- Acquista il mio prodotto !? !? !? !? !? !?
- Acquista il mio prodotto !!!!!!!!! ....... !!!!!!!!
- comprare il mio prodotto < -----------
Alcuni soluzione accettabile sarebbe quello di ridurre la ripetizione della non alphanum a 2.
Quindi vorrei arrivare:
- Acquista il mio prodotto !!
- Acquista il mio prodotto !? !?
- Acquista il mio prodotto !! .. !!
- comprare il mio prodotto < -
Questa soluzione non ha funzionato molto bene:
preg_replace('/(\W{2,})(?=\1+)/', '', $title)
Qualsiasi idea di come farlo in PHP con regex?
Un'altra soluzione migliore è anche benvenuta (non posso escludere tutti i caratteri non alfanumerici come possono avere senso).
Modifica: l'obiettivo è solo quello di evitare problemi più comuni. Gli altri casi creativi verranno disinfettati manualmente o sterilizzati con un'altra espressione regolare.
¸ ·'' · ¸ ·'' · ¸ ·'' · ¸ Umano · -> creatività << è infinita! ¡! ¡! ☻☺ – Gordon
Digitare cazzate in descrizioni non include solo punti esclamativi, ma anche titoli come "Acquista prodotto Mu". Immagino che questo tipo di cose non possano essere verificate con una espressione regolare, ed è meglio in qualche modo modificare/controllare i titoli da parte di editor e/o community per filtrare quelli senza significato. – che