| @@ 350-379 (lines=30) @@ | ||
| 347 | ||
| 348 | $retval = ''; |
|
| 349 | ||
| 350 | while (mb_strlen($retval) < mb_strlen($str)) { |
|
| 351 | $nNextStart = false; |
|
| 352 | $sNextEndChar = ''; |
|
| 353 | foreach ($delimiter as $del) { |
|
| 354 | $nThisStart = mb_strpos($str, $del[0], mb_strlen($retval)); |
|
| 355 | ||
| 356 | if ($nThisStart !== false) { |
|
| 357 | if (($nNextStart > $nThisStart) || ($nNextStart === false)) { |
|
| 358 | $nNextStart = $nThisStart; |
|
| 359 | $sNextEndChar = $del[1]; |
|
| 360 | } |
|
| 361 | } |
|
| 362 | } |
|
| 363 | ||
| 364 | if ($nNextStart === false) { |
|
| 365 | $retval .= str_rot13(mb_substr($str, mb_strlen($retval), mb_strlen($str) - mb_strlen($retval))); |
|
| 366 | } else { |
|
| 367 | // crypted part |
|
| 368 | $retval .= str_rot13(mb_substr($str, mb_strlen($retval), $nNextStart - mb_strlen($retval))); |
|
| 369 | ||
| 370 | // uncrypted part |
|
| 371 | $nNextEnd = mb_strpos($str, $sNextEndChar, $nNextStart); |
|
| 372 | ||
| 373 | if ($nNextEnd === false) { |
|
| 374 | $retval .= mb_substr($str, $nNextStart, mb_strlen($str) - mb_strlen($retval)); |
|
| 375 | } else { |
|
| 376 | $retval .= mb_substr($str, $nNextStart, $nNextEnd - $nNextStart + 1); |
|
| 377 | } |
|
| 378 | } |
|
| 379 | } |
|
| 380 | ||
| 381 | return $retval; |
|
| 382 | } |
|
| @@ 30-59 (lines=30) @@ | ||
| 27 | ||
| 28 | $retval = ''; |
|
| 29 | ||
| 30 | while (mb_strlen($retval) < mb_strlen($str)) { |
|
| 31 | $nNextStart = false; |
|
| 32 | $sNextEndChar = ''; |
|
| 33 | foreach ($delimiter as $del) { |
|
| 34 | $nThisStart = mb_strpos($str, $del[0], mb_strlen($retval)); |
|
| 35 | ||
| 36 | if ($nThisStart !== false) { |
|
| 37 | if (($nNextStart > $nThisStart) || ($nNextStart === false)) { |
|
| 38 | $nNextStart = $nThisStart; |
|
| 39 | $sNextEndChar = $del[1]; |
|
| 40 | } |
|
| 41 | } |
|
| 42 | } |
|
| 43 | ||
| 44 | if ($nNextStart === false) { |
|
| 45 | $retval .= str_rot13(mb_substr($str, mb_strlen($retval), mb_strlen($str) - mb_strlen($retval))); |
|
| 46 | } else { |
|
| 47 | // crypted part |
|
| 48 | $retval .= str_rot13(mb_substr($str, mb_strlen($retval), $nNextStart - mb_strlen($retval))); |
|
| 49 | ||
| 50 | // uncrypted part |
|
| 51 | $nNextEnd = mb_strpos($str, $sNextEndChar, $nNextStart); |
|
| 52 | ||
| 53 | if ($nNextEnd === false) { |
|
| 54 | $retval .= mb_substr($str, $nNextStart, mb_strlen($str) - mb_strlen($retval)); |
|
| 55 | } else { |
|
| 56 | $retval .= mb_substr($str, $nNextStart, $nNextEnd - $nNextStart + 1); |
|
| 57 | } |
|
| 58 | } |
|
| 59 | } |
|
| 60 | ||
| 61 | return $retval; |
|
| 62 | } |
|