- substr: documentation ( source)
- strpos: documentation ( source)
- str_repeat: documentation ( source)
<?php
function v1($data) {
$start = 0;
while (($stop = strpos($data, "\n", $start)) !== false) {
$len = $stop-$start;
if ($len > 0 && $data[$stop-1] === "\r") {
$len -= 1;
}
$line = substr($data, $start, $len);
if (isset($line[0]) && $line[0] === '.') {
$line = '.' . $line;
}
//send
$start = $stop + 1;
}
//last line
$line = substr($data, $start);
if (isset($line[0]) && $line[0] === '.') {
$line = '.' . $line;
}
//send
}
$data = str_repeat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r\n", 100000);
v1($data);