web-dev-qa-db-fra.com

comment compter de nouvelles lignes dans une très grosse chaîne?

Le problème se réduit à compter \n caractères, donc existe-t-il une fonction qui peut le faire sur une énorme chaîne, car explode () gaspille trop de mémoire.

42
rsk82

substr_count devrait faire l'affaire:

substr_count( $your_string, "\n" );
85
George Cummins

Vous pouvez utiliser la fonction substr_count() de PHP: http://www.php.net/manual/en/function.substr-count.php

substr_count($myString, "\n");

Il vous donnera un entier avec le nombre d'occurrences.

7
Carlos Precioso

i Think substr_count ($ your_string, "\ n"); devrait être:

$numLine = substr_count( $your_string, "\n" ) +1;

Mais j'utilise ceci:

$numLine = count(explode("\n",$your_string));

il renvoie toujours un résultat correct

5
Hoàng Vũ Tgtt
$count=preg_match_all ('/\n/',$str);
2
Trey