Ma perche' sono tutti cosi' allergici alle regular expressions? Capisco magari roba tipo lookahead e pattern ricorsivi, ma un programmatore che non conosca almeno LE BASI delle regexp dovrebbe farsi un serio esame di coscienza.
Le quadre indicano una character class cioe' una serie di caratteri da testare in alternativa, perche' mettere il pipe? Il pipe si usa per l'alternanza di gruppi, non per i singoli caratteri. In questo caso non solo non serve come operatore di alternanza, ma e' proprio un errore perche' non essendo un carattere speciale (all'interno delle quadre) il pattern cerca proprio un carattere "|". Inoltre anche il punto NON E' un carattere speciale all'interno di una character class, quindi non va preceduto da un backslash.codice:$reg = "/[\.|,|;|:|?|!]\s+/"
Versione corretta del pattern:
codice:$reg = '/[.,;:?!]\s+/';