2010-11-06 11 views
0
$text = 
"<tab><return><nbsp>O'Neil really 
likes his pudding's, he really really does!!!1.5" 

Je voudrais avoir cela si possible où '<tab>' est un onglet réel \t espace non littéralement '<tab>'preg_replace pour supprimer la ponctuation, les espaces blancs et les formes possessives de mots?

$text = "O'Neil really likes his pudding he really really does 1.5" 

enlever les allures de blancs et de les remplacer par un espace, la ponctuation, en gardant les numéros ou quoi que ce soit après apostrophe ce n'est pas un 's'.

Merci beaucoup!

+1

Et O'Neil aime vraiment le pudding de sa tante, il le fait vraiment! –

+0

Pourquoi le '1.5' garde-t-il son point? –

+0

@Pekka, j'essaie de faire un index des mots et des chiffres – Mohammad

Répondre

3
$string = trim(preg_replace(array('~[:;!?]|[.,](?![0-9])|\'s~', '~\s+~'), array('', ' '), $string)); 

Cette première se débarrasse de 's et remplace alors plusieurs espaces avec un espace. Éventuellement, il supprime les espaces de début et de fin.

+0

Je suppose que cela ne supprime pas vraiment les virgules ou la ponctuation, mais merci! – Mohammad

+0

Oups, j'ai oublié cette partie. Maintenant, l'expression rationnelle devrait supprimer certains caractères de ponctuation et '.' et', 's'ils ne sont pas suivis d'un chiffre. – NikiC