Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Закрытие скобок

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Roller
Отправлено: 17 Февраля, 2016 - 15:00:33
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Февр. 2016  


Помог: 0 раз(а)




Всем доброго дня!

У нас есть файл в котором не закрыты фигурные строки в некоторых местах, нужен скрипт который проверял бы файл на наличие } файле; затем вывести номер строки файла где встречается скобка без пары и вывести количество незакрытых фигурных скобок.
Думал что через strpos как-то получится, но нет, склоняюсь к регулярным выражениям

(Отредактировано автором: 17 Февраля, 2016 - 15:05:46)

 
 Top
HiL
Отправлено: 17 Февраля, 2016 - 17:32:36
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Февр. 2016  


Помог: 0 раз(а)




Соответственно если цвета не чередуются то скобка не закрыта или не была открыта
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $text = 'Пример текста
  3. {
  4. Пример текста
  5. }
  6. Пример текста
  7. {}{
  8. Пример текста
  9. Пример текста
  10. }
  11. ';
  12.  
  13. $arr = explode('
  14. ', $text);
  15. foreach ($arr as $nomerSTROKI => $textSTROKI){
  16.         $kovickaLEFT =  explode('{',$textSTROKI);
  17.         if(count($kovickaLEFT)>=2){
  18.                 for($i=1;$i<count($kovickaLEFT);$i++){
  19.                         echo '<strong style="color: #009900">Ковычка "{" в строке '.($nomerSTROKI+1).'</strong>';
  20.                         echo '<br>';
  21.                 ;};
  22.                 unset($kovickaLEFT);
  23.         ;};    
  24.         $kovickaRITE =  explode('}',$textSTROKI);      
  25.         if(count($kovickaRITE)>=2){
  26.                 for($i=1;$i<count($kovickaRITE);$i++){
  27.                         echo '<strong style="color:#FF0000">Ковычка "}" в строке '.($nomerSTROKI+1).'</strong>';
  28.                         echo '<br>';
  29.                 ;};
  30.                 unset($kovickaRITE);           
  31.         ;};    
  32. ;};
  33. ?>
 
 Top
Roller
Отправлено: 17 Февраля, 2016 - 19:19:37
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Февр. 2016  


Помог: 0 раз(а)




Спасибо большое,

Но не подскажите можно ли сделать так чтобы переменная $text была ссылкой на проверяемый файл или только вбивая его содержимое в эту переменную.

Понимаю только что можно включить файл через include, как дальше обращаться с ним пока не догуглил
 
 Top
HiL
Отправлено: 17 Февраля, 2016 - 19:35:40
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Февр. 2016  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $text = file_get_contents('Путь до файла');
  3. ?>
 
 Top
Roller
Отправлено: 18 Февраля, 2016 - 20:48:16
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Февр. 2016  


Помог: 0 раз(а)




HiL А вот уточнение, к чему вы в конце сбрасывали переменную через Unset?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB