A pragmatic way of counting words in a string could be done like this:
$array_of_words = explode(' ', $string);
$nmbr_of_words = sizeof($array_of_words);
To break the string in two I suggest the following method:
$middle_of_array = ceil($nmbr_of_words / 2);
for ($i=0;$i<$middle_of_array;$i++) {
$string1 .= $array_of_words[$i];
}
for ($i=$middle_of_array;$i<=$nmbr_of_words;$i++) {
$string2 .= $array_of_words[$i];
}
I haven't tested the code, but the principles should work.