Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- header('Content-Type:text/html; charset=utf-8');
- mb_internal_encoding('utf-8');
- set_time_limit(125);
- $long_line = 40; // Number of characters considered a long line
- function find($words, $i, $s) {
- if(mb_strpos($words[$i - 1], '-->') !== false)
- return $words[$i - 2];
- else if($s > 0)
- return find($words, $i - 1, $s - 1);
- else
- return null;
- }
- function make_good($s) {
- $good = 'А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ь Ю Я а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ь ю я';
- $bad = 'À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Ü Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú ü þ ÿ';
- $g = explode(" ", $good);
- $b = explode(" ", $bad);
- $new = '';
- for($i = 0; $i < mb_strlen($s); $i ++) {
- $k = 0;
- for($j = 0; $j < sizeof($b); $j ++) {
- if(mb_substr($s, $i, 1) == $b[$j]) {
- $new .= $g[$j];
- $k = 1;
- }
- }
- if($k == 0)
- $new .= mb_substr($s, $i, 1);
- }
- return $new;
- }
- $show = 1;
- if(isset($_POST['words'])) {
- $words = explode("\n", $_POST['words']);
- $show = 0;
- }
- ?>
- <!DOCTYPE html>
- <html>
- <head>
- <title>Subtitle Check</title>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- </head>
- <body<?php
- if($show == 0)
- echo ' style="margin: 40px 30% 40px 30%; font-family: \'Courier New\'; font-size: 16px; color: #000000;"';
- ?>>
- <?php
- if($show == 1)
- echo '<br><br><form method="post"><table><tr><td style="width: 240px; text-align: right;">
- <input type="submit" value="Submit" style="width: 60px; height: 300px; margin-right: 50px;"></td>
- <td><textarea name="words" style="overflow-y: scroll; width: 880px; height: 528px;"></textarea></td>
- </tr></table></form>
- ';
- else {
- $overlap = array();
- $long = array();
- $large = array();
- $tags = array();
- $other = array();
- $k = array();
- $j = 0;
- $n = 0;
- $e = 0;
- $w = 0;
- $k[-1] = -1;
- for($i = 0; $i < sizeof($words); $i ++)
- $words[$i] = trim($words[$i]);
- for($i = 0; $i < sizeof($words); $i ++) {
- if(mb_strpos($words[$i], '-->') !== false) {
- $overlap[$j][0] = preg_replace('/[^0-9.]+/', '', mb_substr($words[$i], 0, 12));
- $overlap[$j][1] = preg_replace('/[^0-9.]+/', '', mb_substr($words[$i], -12));
- $overlap[$j][2] = $words[$i - 1];
- $j ++;
- }
- }
- $overlap[$j][0] = 999999999;
- for($j = 0; $j < sizeof($overlap); $j ++) {
- if(intval($overlap[$j][1]) > intval($overlap[$j + 1][0])) {
- $e = 1;
- if($w == 0) {
- echo '<strong>Overlap:</strong><br><br>
- ';
- $w = 1;
- }
- echo $overlap[$j][2] . '
- ';
- }
- }
- $j = 0;
- $w = 0;
- for($i = 0; $i < sizeof($words); $i ++) {
- $long[$i] = '';
- if(mb_strlen(strip_tags($words[$i])) > $long_line)
- $long[$i] = find($words, $i, 8);
- }
- for($i = 0; $i < sizeof($long); $i ++) {
- if(mb_strlen($long[$i]) > 0) {
- if($e == 1 && $w == 0)
- echo '<br><br><br>';
- $e = 1;
- if($w == 0) {
- echo '<strong>Long:</strong><br><br>
- ';
- $w = 1;
- }
- echo $long[$i] . '
- ';
- }
- }
- $w = 0;
- for($i = 0; $i < sizeof($words); $i ++) {
- if(mb_strlen($words[$i]) < 1 && mb_strlen($words[$i - 1]) > 0 && $i > 0) {
- $k[$j] = $i;
- if($j > 0) {
- if(($k[$j - 1] - $k[$j - 2]) > 5) {
- if($j > 1)
- $n = $k[$j - 2] + 1;
- if(($k[$j - 1] - $k[$j - 2]) > 6)
- $large[$n] = '<strong>' . $words[$n] . '</strong>';
- else
- $large[$n] = $words[$n];
- }
- }
- $j ++;
- }
- }
- if($j > 1) {
- if(($k[$j - 1] - $k[$j - 2]) > 5) {
- $n = $k[$j - 2] + 1;
- if(($k[$j - 1] - $k[$j - 2]) > 6)
- $large[$n] = '<strong>' . $words[$n] . '</strong>';
- else
- $large[$n] = $words[$n];
- }
- }
- for($i = 0; $i <= $n; $i ++) {
- if(mb_strlen($large[$i]) > 0) {
- if($e == 1 && $w == 0)
- echo '<br><br><br>';
- $e = 1;
- if($w == 0) {
- echo '<strong>Large:</strong><br><br>
- ';
- $w = 1;
- }
- echo $large[$i] . '
- ';
- }
- }
- if($e == 0)
- echo '<strong>No errors.</strong>
- ';
- $w = 0;
- for($i = 0; $i < sizeof($words); $i ++) {
- $tags[$i] = '';
- if(mb_strpos($words[$i], '<') !== false || mb_strpos($words[$i], '{') !== false || mb_strpos($words[$i], '}') !== false) {
- $tags[$i] = find($words, $i, 8);
- if(mb_strpos($words[$i], 'font') !== false || mb_strpos($words[$i], '<b') !== false || mb_strpos($words[$i], '<u') !== false ||
- mb_strpos($words[$i], '{') !== false || mb_strpos($words[$i], '}') !== false)
- $tags[$i] = '<strong>' . $tags[$i] . '</strong>';
- }
- }
- for($i = 0; $i < sizeof($tags); $i ++) {
- if(mb_strlen($tags[$i]) > 0 && $tags[$i] != $tags[$i - 1]) {
- if($w == 0) {
- echo '<br><br><br><strong>Tags:</strong><br><br>
- ';
- $w = 1;
- }
- echo $tags[$i] . '
- ';
- }
- }
- $w = 0;
- for($i = 0; $i < sizeof($words); $i ++) {
- $other[$i] = '';
- if(preg_match('/[A-Za-z]/', preg_replace('/\PL/u', '', strip_tags($words[$i]))))
- $other[$i] = find($words, $i, 8);
- }
- for($i = 0; $i < sizeof($other); $i ++) {
- if(mb_strlen($other[$i]) > 0) {
- if($w == 0) {
- echo '<br><br><br><strong>Latin:</strong><br><br>
- ';
- $w = 1;
- }
- echo $other[$i] . ' ' . make_good($words[$i]) . '<br>
- ';
- }
- }
- }
- ?>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement