| 
	| 
	
	| 
		
	| 
			
			 
			
				11.12.2015, 01:55
			
			
			
		 |  
	| 
		
			|  | I am Student       |  | 
					Регистрация: 17.12.2011 
						Сообщений: 4,415
					 
		
 |  |  
	| Mаxmaxmаximus, сенк за идею 
				__________________ 
	
 
	| Цитата: |  
	| Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку. |  
	
 |  |  
	| 
		
	| 
			
			 
			
				11.12.2015, 10:36
			
			
			
		 |  
	| 
		
			|  | I am Student       |  | 
					Регистрация: 17.12.2011 
						Сообщений: 4,415
					 
		
 |  |  
	| Mаxmaxmаximus, 
 чет как то не очень работает http://jsfiddle.net/789692dq/1/ 
				__________________ 
	
 
	| Цитата: |  
	| Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку. |  
	
 |  |  
	| 
		
	| 
			
			 
			
				11.12.2015, 12:35
			
			
			
		 |  
	| 
		
			|  | I am Student       |  | 
					Регистрация: 17.12.2011 
						Сообщений: 4,415
					 
		
 |  |  
	| Mаxmaxmаximus, кстати, если хочешь по веселится присоединяйся, еще пару пунктовпо позиции нужно определить:
 - позиция находится внутри атрибута
 - внутри тела тэга <tag тут >
 - внутри текстовой части тэга <tag> тут </tag>
 - или так <tag> <t /> внутри этого </tag>
 Потому скину что получилось, если есть интересные идеи то слушаю)
 Сейчас делаю это с помощью конечного автомата
 
				__________________ 
	
 
	| Цитата: |  
	| Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку. |  
	
			 Последний раз редактировалось cyber, 11.12.2015 в 13:17.
 |  |  
	| 
		
	| 
			
			 
			
				11.12.2015, 16:02
			
			
			
		 |  
	| 
		
			|  | I am Student       |  | 
					Регистрация: 17.12.2011 
						Сообщений: 4,415
					 
		
 |  |  
	| Как отличить " \" " от ' " ' 
				__________________ 
	
 
	| Цитата: |  
	| Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку. |  
	
 |  |  
	| 
		
	| 
			
			 
			
				11.12.2015, 16:09
			
			
			
		 |  
	| 
		
			
			| Профессор     |  | 
					Регистрация: 29.10.2015 
						Сообщений: 473
					 
		
 |  |  
	| 
	
 
	| Сообщение от cyber |  
	| Как отличить " \" " от ' " ' |  
	
 Перед парсингом пробегайся по всем экранированным символам и заменяй их на специальную строку заменитель типа $_TMP_$, и сохраняй то что заменяешь в массив, а потом, после обработки, заменяй все вхождения $_TMP_$ на данные из массива в соовтетствующем порядке)
 
Не знай насколько это правильно но это мне ускоряит парсинг, но я это пометил как оптимизация. НО я все таки язык парсю, и у меня экранирование может какую то логику иметь и.т.п. а у тебя конкретная задача. |  |  
	| 
		
	| 
			
			 
			
				11.12.2015, 16:11
			
			
			
		 |  
	| 
		
			
			| Профессор     |  | 
					Регистрация: 29.10.2015 
						Сообщений: 473
					 
		
 |  |  
	| 
	
 
	| Сообщение от cyber |  
	| кстати, если хочешь по веселится присоединяйся, еще пару пунктов |  
	
 я уже выше написал парсер, парсишь в "токенлист", массив в котором список обьектов {имяТега, закрывающийЛиТег}
 
парсишь в одну сторону, парсшь в другую, поулчаешь 2 массива.  
далее анализируешь эти теги, сколько открывающих было сколько закрывающий и определяешь в каком месте мы сейчас наодимся.
 
п.с.ч то нужно анализимровать второй массив который ПОСЛЕ нужного символа идет я не уверен) |  |  
	| 
		
	| 
			
			 
			
				11.12.2015, 16:12
			
			
			
		 |  
	| 
		
			|  | I am Student       |  | 
					Регистрация: 17.12.2011 
						Сообщений: 4,415
					 
		
 |  |  
	| Mаxmaxmаximus, сенк) 
				__________________ 
	
 
	| Цитата: |  
	| Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку. |  
	
 |  |  
	| 
		
	| 
			
			 
			
				11.12.2015, 16:13
			
			
			
		 |  
	| 
		
			|  | I am Student       |  | 
					Регистрация: 17.12.2011 
						Сообщений: 4,415
					 
		
 |  |  
	| Mаxmaxmаximus,
  
	
 
	| Сообщение от cyber |  
	| Сейчас делаю это с помощью конечного автомата |  
	
 по таком принципу как работает польшая часть парсеров 
				__________________ 
	
 
	| Цитата: |  
	| Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку. |  
	
 |  |  
	| 
		
	| 
			
			 
			
				11.12.2015, 16:13
			
			
			
		 |  
	| 
		
			
			| Профессор     |  | 
					Регистрация: 29.10.2015 
						Сообщений: 473
					 
		
 |  |  
	| парси теги, учитывая чт они могут быть незакрытыми
 парси просто, выискивай скобочки <слово   и не обязательно закрывающий тег, или вообще просто треугольные скобочки выискивай
 |  |  
	| 
		
	| 
			
			 
			
				11.12.2015, 16:15
			
			
			
		 |  
	| 
		
			
			| Профессор     |  | 
					Регистрация: 29.10.2015 
						Сообщений: 473
					 
		
 |  |  
	| 
	
 
	| Сообщение от cyber |  
	| по таком принципу как работает польшая часть парсеров |  
	
 Ну у меня например ThreeBuilder работает по другому, так типа как регулярные выражения рекурсивные, тока ты каждый элемент опсиываешь яваскрипт функцией и он сам парсит внутри себя, и сам решает когда закончился его код и передает управление дальше. в общем годная тема, потом покажу.
 
можно наследоваться и парсить любые языки и красиво их описывать да и работает молнеиносно. 
есть типа токены а есть лексемы, функциями мы описываем лексемы) а дальше используем как будто регулярку пишем. словами не обьяснить пока |  |  |  |