2010-04-18 4 views
5

Je veux pouvoir enlever linebreaks etc que les gens font en utilisant des caractères récurrents, par exemple:besoin d'une regex pour faire correspondre les lignes répétitives de symboles (exemple: ------------- ou *****************)

**************************************************** 
---------------------------------------------------- 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

etc

je voudrais ne pas avoir à spécifier quels caractères il correspondra, peut-être tout qui ne sont pas \ w caractères?

noter également qu'ils ne seront pas toujours début/fin sur une nouvelle ligne ..

est-ce possible?

Répondre

4

Pour cela, vous devrez décider de la longueur de seuil pour déterminer ceux qui sont vraiment des séparateurs, appellent N, alors vous pouvez faire:

$input = preg_replace('/(\W)\1{N-1,}/,'',$input); 

qui supprime N consécutifs ou plus non-word car.

+0

$ dd = preg_replace ('/ (\ W) \ 1 {10-1,}/i', '', $ dd); ne semble pas fonctionner même sur http://gskinner.com/RegExr/? – Haroldo

+1

Je devine que c'était pseudocode, et ce qu'il voulait dire était 'preg_replace ('/ (\ W) \ 1 {9,}/i', '', $ dd);'. La soustraction était à faire pour vous, pas l'analyseur de regex;) –

Questions connexes