how to count new lines in a very big string?

The problem reduces to counting \n characters, so is there a function that can do it on a huge strings, since explode() wastes too much memory.


Solution 1:

substr_count should do the trick:

substr_count( $your_string, "\n" );

Solution 2:

You can use PHP's substr_count() function: http://www.php.net/manual/en/function.substr-count.php

substr_count($myString, "\n");

It will give you an integer with the number of occurrences.

Solution 3:

i Think substr_count( $your_string, "\n" ); should be:

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

But I use this:

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

it always return correct result

Solution 4:

$count=preg_match_all ('/\n/',$str);