Regex pour une utilisation avec php preg_match pour trouver un retour à la ligne
Je suis assez nouveau/rouillé avec des expressions régulières. Je suis à la collecte d'un bloc de texte d'un élément textarea et je veux vérifier pour voir si la personne qui a rempli il a utilisé tous les paragraphes, entre autres choses.
Je suis en utilisant la suite et je sais que c'est faux. Toute aide serait appréciée.
preg_match('/\r\n|\n|\r/', $_GET['text']);
OriginalL'auteur Ed Fearon | 2011-06-01
Vous devez vous connecter pour publier un commentaire.
Votre regex n'est pas faux. Mais pour la détection des paragraphes que vous voulez regarder pour deux mandats consécutifs de retours à la ligne:
Le retour chariot
\r
est facultatif, et je voudrais juste vérifier\n
saut de ligne comme la plupart des plates-formes de traiter que comme saut de ligne. Évidemment, cette vérification échoue si le texte soumis est juste une seule ligne, sans paragraphes, sauts de ligne.Sinon vous pouvez aussi la sonde pour deux retours à la ligne avec toute sorte des espaces entre:
Alors que dans le format CSV est une séquence d'échappement,
fgetcsv
doit laisser\n
seul. Mais vous devriez plutôt l'impression que l'expression régulière pour des fins de débogage. (La regex fonctionne bien dans mes tests.)Il imprime tant que /(\s*\n){2}/, exactement comme il est dans le csv. Je suis un peu perplexe.
Imprimer les
$_GET["text"]
et de les comparer via l'affichage de la source si vraiment il contient des retours à la ligne.Ah ha! Intéressant. Il n'a pas les nouvelles lignes. Même si elle le fait dans le textarea. La méthode GET strip que des trucs?
OriginalL'auteur mario
En supposant que:
Vous pourriez faire:
J'ai donné un rendez-vous mais elle revient toujours positif, même si il n'y a pas de paragraphes dans le textarea: si (str_replace("\r\n\r\n", ", $texte) == $texte) echo 'les Paragraphes détectées.'; Merci pour votre aide, d'autres idées?
Fearon En Effet. J'ai modifié la condition.
OriginalL'auteur seriousdev