Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-conte.../plugins/smart-sl.../Nextend/Framewor.../Asset/Css/Less
File: LessParser.php
'exp',
[1000] Fix | Delete
$exp
[1001] Fix | Delete
);
[1002] Fix | Delete
[1003] Fix | Delete
return true;
[1004] Fix | Delete
}
[1005] Fix | Delete
[1006] Fix | Delete
$this->seek($s);
[1007] Fix | Delete
[1008] Fix | Delete
return false;
[1009] Fix | Delete
}
[1010] Fix | Delete
[1011] Fix | Delete
// a space separated list of selectors
[1012] Fix | Delete
protected function tag(&$tag, $simple = false) {
[1013] Fix | Delete
if ($simple) $chars = '^@,:;{}\][>\(\) "\''; else
[1014] Fix | Delete
$chars = '^@,;{}["\'';
[1015] Fix | Delete
[1016] Fix | Delete
$s = $this->seek();
[1017] Fix | Delete
[1018] Fix | Delete
if (!$simple && $this->tagExpression($tag)) {
[1019] Fix | Delete
return true;
[1020] Fix | Delete
}
[1021] Fix | Delete
[1022] Fix | Delete
$hasExpression = false;
[1023] Fix | Delete
$parts = array();
[1024] Fix | Delete
while ($this->tagBracket($first)) $parts[] = $first;
[1025] Fix | Delete
[1026] Fix | Delete
$oldWhite = $this->eatWhiteDefault;
[1027] Fix | Delete
$this->eatWhiteDefault = false;
[1028] Fix | Delete
[1029] Fix | Delete
while (true) {
[1030] Fix | Delete
if ($this->match('([' . $chars . '0-9][' . $chars . ']*)', $m)) {
[1031] Fix | Delete
$parts[] = $m[1];
[1032] Fix | Delete
if ($simple) break;
[1033] Fix | Delete
[1034] Fix | Delete
while ($this->tagBracket($brack)) {
[1035] Fix | Delete
$parts[] = $brack;
[1036] Fix | Delete
}
[1037] Fix | Delete
continue;
[1038] Fix | Delete
}
[1039] Fix | Delete
[1040] Fix | Delete
if (isset($this->buffer[$this->count]) && $this->buffer[$this->count] == "@") {
[1041] Fix | Delete
if ($this->interpolation($interp)) {
[1042] Fix | Delete
$hasExpression = true;
[1043] Fix | Delete
$interp[2] = true; // don't unescape
[1044] Fix | Delete
$parts[] = $interp;
[1045] Fix | Delete
continue;
[1046] Fix | Delete
}
[1047] Fix | Delete
[1048] Fix | Delete
if ($this->literal("@")) {
[1049] Fix | Delete
$parts[] = "@";
[1050] Fix | Delete
continue;
[1051] Fix | Delete
}
[1052] Fix | Delete
}
[1053] Fix | Delete
[1054] Fix | Delete
if ($this->unit($unit)) { // for keyframes
[1055] Fix | Delete
$parts[] = $unit[1];
[1056] Fix | Delete
$parts[] = $unit[2];
[1057] Fix | Delete
continue;
[1058] Fix | Delete
}
[1059] Fix | Delete
[1060] Fix | Delete
break;
[1061] Fix | Delete
}
[1062] Fix | Delete
[1063] Fix | Delete
$this->eatWhiteDefault = $oldWhite;
[1064] Fix | Delete
if (!$parts) {
[1065] Fix | Delete
$this->seek($s);
[1066] Fix | Delete
[1067] Fix | Delete
return false;
[1068] Fix | Delete
}
[1069] Fix | Delete
[1070] Fix | Delete
if ($hasExpression) {
[1071] Fix | Delete
$tag = array(
[1072] Fix | Delete
"exp",
[1073] Fix | Delete
array(
[1074] Fix | Delete
"string",
[1075] Fix | Delete
"",
[1076] Fix | Delete
$parts
[1077] Fix | Delete
)
[1078] Fix | Delete
);
[1079] Fix | Delete
} else {
[1080] Fix | Delete
$tag = trim(implode($parts));
[1081] Fix | Delete
}
[1082] Fix | Delete
[1083] Fix | Delete
$this->whitespace();
[1084] Fix | Delete
[1085] Fix | Delete
return true;
[1086] Fix | Delete
}
[1087] Fix | Delete
[1088] Fix | Delete
// a css function
[1089] Fix | Delete
protected function func(&$func) {
[1090] Fix | Delete
$s = $this->seek();
[1091] Fix | Delete
[1092] Fix | Delete
if ($this->match('(%|[\w\-_][\w\-_:\.]+|[\w_])', $m) && $this->literal('(')) {
[1093] Fix | Delete
$fname = $m[1];
[1094] Fix | Delete
[1095] Fix | Delete
$sPreArgs = $this->seek();
[1096] Fix | Delete
[1097] Fix | Delete
$args = array();
[1098] Fix | Delete
while (true) {
[1099] Fix | Delete
$ss = $this->seek();
[1100] Fix | Delete
// this ugly nonsense is for ie filter properties
[1101] Fix | Delete
if ($this->keyword($name) && $this->literal('=') && $this->expressionList($value)) {
[1102] Fix | Delete
$args[] = array(
[1103] Fix | Delete
"string",
[1104] Fix | Delete
"",
[1105] Fix | Delete
array(
[1106] Fix | Delete
$name,
[1107] Fix | Delete
"=",
[1108] Fix | Delete
$value
[1109] Fix | Delete
)
[1110] Fix | Delete
);
[1111] Fix | Delete
} else {
[1112] Fix | Delete
$this->seek($ss);
[1113] Fix | Delete
if ($this->expressionList($value)) {
[1114] Fix | Delete
$args[] = $value;
[1115] Fix | Delete
}
[1116] Fix | Delete
}
[1117] Fix | Delete
[1118] Fix | Delete
if (!$this->literal(',')) break;
[1119] Fix | Delete
}
[1120] Fix | Delete
$args = array(
[1121] Fix | Delete
'list',
[1122] Fix | Delete
',',
[1123] Fix | Delete
$args
[1124] Fix | Delete
);
[1125] Fix | Delete
[1126] Fix | Delete
if ($this->literal(')')) {
[1127] Fix | Delete
$func = array(
[1128] Fix | Delete
'function',
[1129] Fix | Delete
$fname,
[1130] Fix | Delete
$args
[1131] Fix | Delete
);
[1132] Fix | Delete
[1133] Fix | Delete
return true;
[1134] Fix | Delete
} elseif ($fname == 'url') {
[1135] Fix | Delete
// couldn't parse and in url? treat as string
[1136] Fix | Delete
$this->seek($sPreArgs);
[1137] Fix | Delete
if ($this->openString(")", $string) && $this->literal(")")) {
[1138] Fix | Delete
$func = array(
[1139] Fix | Delete
'function',
[1140] Fix | Delete
$fname,
[1141] Fix | Delete
$string
[1142] Fix | Delete
);
[1143] Fix | Delete
[1144] Fix | Delete
return true;
[1145] Fix | Delete
}
[1146] Fix | Delete
}
[1147] Fix | Delete
}
[1148] Fix | Delete
[1149] Fix | Delete
$this->seek($s);
[1150] Fix | Delete
[1151] Fix | Delete
return false;
[1152] Fix | Delete
}
[1153] Fix | Delete
[1154] Fix | Delete
// consume a less variable
[1155] Fix | Delete
protected function variable(&$name) {
[1156] Fix | Delete
$s = $this->seek();
[1157] Fix | Delete
if ($this->literal($this->lessc->vPrefix, false) && ($this->variable($sub) || $this->keyword($name))) {
[1158] Fix | Delete
if (!empty($sub)) {
[1159] Fix | Delete
$name = array(
[1160] Fix | Delete
'variable',
[1161] Fix | Delete
$sub
[1162] Fix | Delete
);
[1163] Fix | Delete
} else {
[1164] Fix | Delete
$name = $this->lessc->vPrefix . $name;
[1165] Fix | Delete
}
[1166] Fix | Delete
[1167] Fix | Delete
return true;
[1168] Fix | Delete
}
[1169] Fix | Delete
[1170] Fix | Delete
$name = null;
[1171] Fix | Delete
$this->seek($s);
[1172] Fix | Delete
[1173] Fix | Delete
return false;
[1174] Fix | Delete
}
[1175] Fix | Delete
[1176] Fix | Delete
/**
[1177] Fix | Delete
* Consume an assignment operator
[1178] Fix | Delete
* Can optionally take a name that will be set to the current property name
[1179] Fix | Delete
*/
[1180] Fix | Delete
protected function assign($name = null) {
[1181] Fix | Delete
if ($name) $this->currentProperty = $name;
[1182] Fix | Delete
[1183] Fix | Delete
return $this->literal(':') || $this->literal('=');
[1184] Fix | Delete
}
[1185] Fix | Delete
[1186] Fix | Delete
// consume a keyword
[1187] Fix | Delete
protected function keyword(&$word) {
[1188] Fix | Delete
if ($this->match('([\w_\-\*!"][\w\-_"]*)', $m)) {
[1189] Fix | Delete
$word = $m[1];
[1190] Fix | Delete
[1191] Fix | Delete
return true;
[1192] Fix | Delete
}
[1193] Fix | Delete
[1194] Fix | Delete
return false;
[1195] Fix | Delete
}
[1196] Fix | Delete
[1197] Fix | Delete
// consume an end of statement delimiter
[1198] Fix | Delete
protected function end() {
[1199] Fix | Delete
if ($this->literal(';')) {
[1200] Fix | Delete
return true;
[1201] Fix | Delete
} elseif ($this->count == strlen($this->buffer) || $this->buffer[$this->count] == '}') {
[1202] Fix | Delete
// if there is end of file or a closing block next then we don't need a ;
[1203] Fix | Delete
return true;
[1204] Fix | Delete
}
[1205] Fix | Delete
[1206] Fix | Delete
return false;
[1207] Fix | Delete
}
[1208] Fix | Delete
[1209] Fix | Delete
protected function guards(&$guards) {
[1210] Fix | Delete
$s = $this->seek();
[1211] Fix | Delete
[1212] Fix | Delete
if (!$this->literal("when")) {
[1213] Fix | Delete
$this->seek($s);
[1214] Fix | Delete
[1215] Fix | Delete
return false;
[1216] Fix | Delete
}
[1217] Fix | Delete
[1218] Fix | Delete
$guards = array();
[1219] Fix | Delete
[1220] Fix | Delete
while ($this->guardGroup($g)) {
[1221] Fix | Delete
$guards[] = $g;
[1222] Fix | Delete
if (!$this->literal(",")) break;
[1223] Fix | Delete
}
[1224] Fix | Delete
[1225] Fix | Delete
if (count($guards) == 0) {
[1226] Fix | Delete
$guards = null;
[1227] Fix | Delete
$this->seek($s);
[1228] Fix | Delete
[1229] Fix | Delete
return false;
[1230] Fix | Delete
}
[1231] Fix | Delete
[1232] Fix | Delete
return true;
[1233] Fix | Delete
}
[1234] Fix | Delete
[1235] Fix | Delete
// a bunch of guards that are and'd together
[1236] Fix | Delete
// TODO rename to guardGroup
[1237] Fix | Delete
protected function guardGroup(&$guardGroup) {
[1238] Fix | Delete
$s = $this->seek();
[1239] Fix | Delete
$guardGroup = array();
[1240] Fix | Delete
while ($this->guard($guard)) {
[1241] Fix | Delete
$guardGroup[] = $guard;
[1242] Fix | Delete
if (!$this->literal("and")) break;
[1243] Fix | Delete
}
[1244] Fix | Delete
[1245] Fix | Delete
if (count($guardGroup) == 0) {
[1246] Fix | Delete
$guardGroup = null;
[1247] Fix | Delete
$this->seek($s);
[1248] Fix | Delete
[1249] Fix | Delete
return false;
[1250] Fix | Delete
}
[1251] Fix | Delete
[1252] Fix | Delete
return true;
[1253] Fix | Delete
}
[1254] Fix | Delete
[1255] Fix | Delete
protected function guard(&$guard) {
[1256] Fix | Delete
$s = $this->seek();
[1257] Fix | Delete
$negate = $this->literal("not");
[1258] Fix | Delete
[1259] Fix | Delete
if ($this->literal("(") && $this->expression($exp) && $this->literal(")")) {
[1260] Fix | Delete
$guard = $exp;
[1261] Fix | Delete
if ($negate) $guard = array(
[1262] Fix | Delete
"negate",
[1263] Fix | Delete
$guard
[1264] Fix | Delete
);
[1265] Fix | Delete
[1266] Fix | Delete
return true;
[1267] Fix | Delete
}
[1268] Fix | Delete
[1269] Fix | Delete
$this->seek($s);
[1270] Fix | Delete
[1271] Fix | Delete
return false;
[1272] Fix | Delete
}
[1273] Fix | Delete
[1274] Fix | Delete
/* raw parsing functions */
[1275] Fix | Delete
[1276] Fix | Delete
protected function literal($what, $eatWhitespace = null) {
[1277] Fix | Delete
if ($eatWhitespace === null) $eatWhitespace = $this->eatWhiteDefault;
[1278] Fix | Delete
[1279] Fix | Delete
// shortcut on single letter
[1280] Fix | Delete
if (!isset($what[1]) && isset($this->buffer[$this->count])) {
[1281] Fix | Delete
if ($this->buffer[$this->count] == $what) {
[1282] Fix | Delete
if (!$eatWhitespace) {
[1283] Fix | Delete
$this->count++;
[1284] Fix | Delete
[1285] Fix | Delete
return true;
[1286] Fix | Delete
}
[1287] Fix | Delete
// goes below...
[1288] Fix | Delete
} else {
[1289] Fix | Delete
return false;
[1290] Fix | Delete
}
[1291] Fix | Delete
}
[1292] Fix | Delete
[1293] Fix | Delete
if (!isset(self::$literalCache[$what])) {
[1294] Fix | Delete
self::$literalCache[$what] = LessCompiler::preg_quote($what);
[1295] Fix | Delete
}
[1296] Fix | Delete
[1297] Fix | Delete
return $this->match(self::$literalCache[$what], $m, $eatWhitespace);
[1298] Fix | Delete
}
[1299] Fix | Delete
[1300] Fix | Delete
protected function genericList(&$out, $parseItem, $delim = "", $flatten = true) {
[1301] Fix | Delete
$s = $this->seek();
[1302] Fix | Delete
$items = array();
[1303] Fix | Delete
while ($this->$parseItem($value)) {
[1304] Fix | Delete
$items[] = $value;
[1305] Fix | Delete
if ($delim) {
[1306] Fix | Delete
if (!$this->literal($delim)) break;
[1307] Fix | Delete
}
[1308] Fix | Delete
}
[1309] Fix | Delete
[1310] Fix | Delete
if (count($items) == 0) {
[1311] Fix | Delete
$this->seek($s);
[1312] Fix | Delete
[1313] Fix | Delete
return false;
[1314] Fix | Delete
}
[1315] Fix | Delete
[1316] Fix | Delete
if ($flatten && count($items) == 1) {
[1317] Fix | Delete
$out = $items[0];
[1318] Fix | Delete
} else {
[1319] Fix | Delete
$out = array(
[1320] Fix | Delete
"list",
[1321] Fix | Delete
$delim,
[1322] Fix | Delete
$items
[1323] Fix | Delete
);
[1324] Fix | Delete
}
[1325] Fix | Delete
[1326] Fix | Delete
return true;
[1327] Fix | Delete
}
[1328] Fix | Delete
[1329] Fix | Delete
[1330] Fix | Delete
// advance counter to next occurrence of $what
[1331] Fix | Delete
// $until - don't include $what in advance
[1332] Fix | Delete
// $allowNewline, if string, will be used as valid char set
[1333] Fix | Delete
protected function to($what, &$out, $until = false, $allowNewline = false) {
[1334] Fix | Delete
if (is_string($allowNewline)) {
[1335] Fix | Delete
$validChars = $allowNewline;
[1336] Fix | Delete
} else {
[1337] Fix | Delete
$validChars = $allowNewline ? "." : "[^\n]";
[1338] Fix | Delete
}
[1339] Fix | Delete
if (!$this->match('(' . $validChars . '*?)' . LessCompiler::preg_quote($what), $m, !$until)) return false;
[1340] Fix | Delete
if ($until) $this->count -= strlen($what); // give back $what
[1341] Fix | Delete
$out = $m[1];
[1342] Fix | Delete
[1343] Fix | Delete
return true;
[1344] Fix | Delete
}
[1345] Fix | Delete
[1346] Fix | Delete
// try to match something on head of buffer
[1347] Fix | Delete
protected function match($regex, &$out, $eatWhitespace = null) {
[1348] Fix | Delete
if ($eatWhitespace === null) $eatWhitespace = $this->eatWhiteDefault;
[1349] Fix | Delete
[1350] Fix | Delete
$r = '/' . $regex . ($eatWhitespace && !$this->writeComments ? '\s*' : '') . '/Ais';
[1351] Fix | Delete
if (preg_match($r, $this->buffer, $out, 0, $this->count)) {
[1352] Fix | Delete
$this->count += strlen($out[0]);
[1353] Fix | Delete
if ($eatWhitespace && $this->writeComments) $this->whitespace();
[1354] Fix | Delete
[1355] Fix | Delete
return true;
[1356] Fix | Delete
}
[1357] Fix | Delete
[1358] Fix | Delete
return false;
[1359] Fix | Delete
}
[1360] Fix | Delete
[1361] Fix | Delete
// match some whitespace
[1362] Fix | Delete
protected function whitespace() {
[1363] Fix | Delete
if ($this->writeComments) {
[1364] Fix | Delete
$gotWhite = false;
[1365] Fix | Delete
while (preg_match(self::$whitePattern, $this->buffer, $m, 0, $this->count)) {
[1366] Fix | Delete
if (isset($m[1]) && empty($this->commentsSeen[$this->count])) {
[1367] Fix | Delete
$this->append(array(
[1368] Fix | Delete
"comment",
[1369] Fix | Delete
$m[1]
[1370] Fix | Delete
));
[1371] Fix | Delete
$this->commentsSeen[$this->count] = true;
[1372] Fix | Delete
}
[1373] Fix | Delete
$this->count += strlen($m[0]);
[1374] Fix | Delete
$gotWhite = true;
[1375] Fix | Delete
}
[1376] Fix | Delete
[1377] Fix | Delete
return $gotWhite;
[1378] Fix | Delete
} else {
[1379] Fix | Delete
$this->match("", $m);
[1380] Fix | Delete
[1381] Fix | Delete
return strlen($m[0]) > 0;
[1382] Fix | Delete
}
[1383] Fix | Delete
}
[1384] Fix | Delete
[1385] Fix | Delete
// match something without consuming it
[1386] Fix | Delete
protected function peek($regex, &$out = null, $from = null) {
[1387] Fix | Delete
if (is_null($from)) $from = $this->count;
[1388] Fix | Delete
$r = '/' . $regex . '/Ais';
[1389] Fix | Delete
$result = preg_match($r, $this->buffer, $out, 0, $from);
[1390] Fix | Delete
[1391] Fix | Delete
return $result;
[1392] Fix | Delete
}
[1393] Fix | Delete
[1394] Fix | Delete
// seek to a spot in the buffer or return where we are on no argument
[1395] Fix | Delete
protected function seek($where = null) {
[1396] Fix | Delete
if ($where === null) return $this->count; else $this->count = $where;
[1397] Fix | Delete
[1398] Fix | Delete
return true;
[1399] Fix | Delete
}
[1400] Fix | Delete
[1401] Fix | Delete
/* misc functions */
[1402] Fix | Delete
[1403] Fix | Delete
public function throwError($msg = "parse error", $count = null) {
[1404] Fix | Delete
$count = is_null($count) ? $this->count : $count;
[1405] Fix | Delete
[1406] Fix | Delete
$line = $this->line + substr_count(substr($this->buffer, 0, $count), "\n");
[1407] Fix | Delete
[1408] Fix | Delete
if (!empty($this->sourceName)) {
[1409] Fix | Delete
$loc = "$this->sourceName on line $line";
[1410] Fix | Delete
} else {
[1411] Fix | Delete
$loc = "line: $line";
[1412] Fix | Delete
}
[1413] Fix | Delete
[1414] Fix | Delete
// TODO this depends on $this->count
[1415] Fix | Delete
if ($this->peek("(.*?)(\n|$)", $m, $count)) {
[1416] Fix | Delete
throw new Exception("$msg: failed at `$m[1]` $loc<br>FILE: <strong>{$this->lessc->sourceParser->sourceName}</strong>");
[1417] Fix | Delete
} else {
[1418] Fix | Delete
throw new Exception("$msg: $loc<br>FILE: <strong>{$this->lessc->sourceParser->sourceName}</strong>");
[1419] Fix | Delete
}
[1420] Fix | Delete
}
[1421] Fix | Delete
[1422] Fix | Delete
protected function pushBlock($selectors = null, $type = null) {
[1423] Fix | Delete
$b = new stdclass;
[1424] Fix | Delete
$b->parent = $this->env;
[1425] Fix | Delete
[1426] Fix | Delete
$b->type = $type;
[1427] Fix | Delete
$b->id = self::$nextBlockId++;
[1428] Fix | Delete
[1429] Fix | Delete
$b->isVararg = false; // TODO: kill me from here
[1430] Fix | Delete
$b->tags = $selectors;
[1431] Fix | Delete
[1432] Fix | Delete
$b->props = array();
[1433] Fix | Delete
$b->children = array();
[1434] Fix | Delete
[1435] Fix | Delete
$this->env = $b;
[1436] Fix | Delete
[1437] Fix | Delete
return $b;
[1438] Fix | Delete
}
[1439] Fix | Delete
[1440] Fix | Delete
// push a block that doesn't multiply tags
[1441] Fix | Delete
protected function pushSpecialBlock($type) {
[1442] Fix | Delete
return $this->pushBlock(null, $type);
[1443] Fix | Delete
}
[1444] Fix | Delete
[1445] Fix | Delete
// append a property to the current block
[1446] Fix | Delete
protected function append($prop, $pos = null) {
[1447] Fix | Delete
if ($pos !== null) $prop[-1] = $pos;
[1448] Fix | Delete
$this->env->props[] = $prop;
[1449] Fix | Delete
}
[1450] Fix | Delete
[1451] Fix | Delete
// pop something off the stack
[1452] Fix | Delete
protected function pop() {
[1453] Fix | Delete
$old = $this->env;
[1454] Fix | Delete
$this->env = $this->env->parent;
[1455] Fix | Delete
[1456] Fix | Delete
return $old;
[1457] Fix | Delete
}
[1458] Fix | Delete
[1459] Fix | Delete
// remove comments from $text
[1460] Fix | Delete
// todo: make it work for all functions, not just url
[1461] Fix | Delete
protected function removeComments($text) {
[1462] Fix | Delete
$look = array(
[1463] Fix | Delete
'url(',
[1464] Fix | Delete
'//',
[1465] Fix | Delete
'/*',
[1466] Fix | Delete
'"',
[1467] Fix | Delete
"'"
[1468] Fix | Delete
);
[1469] Fix | Delete
[1470] Fix | Delete
$out = '';
[1471] Fix | Delete
$min = null;
[1472] Fix | Delete
while (true) {
[1473] Fix | Delete
// find the next item
[1474] Fix | Delete
foreach ($look as $token) {
[1475] Fix | Delete
$pos = strpos($text, $token);
[1476] Fix | Delete
if ($pos !== false) {
[1477] Fix | Delete
if (!isset($min) || $pos < $min[1]) $min = array(
[1478] Fix | Delete
$token,
[1479] Fix | Delete
$pos
[1480] Fix | Delete
);
[1481] Fix | Delete
}
[1482] Fix | Delete
}
[1483] Fix | Delete
[1484] Fix | Delete
if (is_null($min)) break;
[1485] Fix | Delete
[1486] Fix | Delete
$count = $min[1];
[1487] Fix | Delete
$skip = 0;
[1488] Fix | Delete
$newlines = 0;
[1489] Fix | Delete
switch ($min[0]) {
[1490] Fix | Delete
case 'url(':
[1491] Fix | Delete
if (preg_match('/url\(.*?\)/', $text, $m, 0, $count)) $count += strlen($m[0]) - strlen($min[0]);
[1492] Fix | Delete
break;
[1493] Fix | Delete
case '"':
[1494] Fix | Delete
case "'":
[1495] Fix | Delete
if (preg_match('/' . $min[0] . '.*?' . $min[0] . '/', $text, $m, 0, $count)) $count += strlen($m[0]) - 1;
[1496] Fix | Delete
break;
[1497] Fix | Delete
case '//':
[1498] Fix | Delete
$skip = strpos($text, "\n", $count);
[1499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function