[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Парсинг
cyberside
У меня сайт на двух языках, хочу сделать такую интересную штуку для шаблонизатора как язычность (если правильно назвал).
И так, по плану есть тег {lang='Русский|Russian'}, который как вы поняли держит в себе переменные языка. Вот хотелось бы узнать как с него украсть эти переменные тоесть то бы получилось $lang[0]='Русский' и $lang[1]='Russian'.
Проблема в том что может я надумаю добавить еще язык или два, что бы соответсвенно получилось $lang[3]='3й язык' и т.д

Подскажите как правильно спарсить данные, при условии такой записи {lang='Русский|Russian'} или такой {lang='Русский|Russian|Russisch'}. Также возможен вариант что прийдется использовать не ', а " по обстоятельствам.

Зарание благодарен!



Спустя 1 час, 10 минут, 24 секунды (16.03.2012 - 00:28) glock18 написал(а):
Сделайте нормальную локализацию, и оставьте вашу затею - с таким подходом вы скоро будете видеть в шаблоне одни переводы. Представьте только, сколько места займет на экране абзац в 2-3 строки, если у вас будет хотя бы даже 3 языка.

Спустя 7 минут, 43 секунды (16.03.2012 - 00:36) cyberside написал(а):
Я эту затею под меню хочу сделать думаю оно не так уж много места займет...

Спустя 20 минут, 34 секунды (16.03.2012 - 00:56) cyberside написал(а):
preg_match_all("#{lang='(.*?)'}#iSU", $template, $langs);

Набросал это, а что дальше немного не пойму... поможет кто?

Спустя 1 час, 36 минут, 18 секунд (16.03.2012 - 02:32) inpost написал(а):
не много, но криво.

Спустя 6 часов, 56 минут, 37 секунд (16.03.2012 - 09:29) cyberside написал(а):
up

Спустя 59 минут, 14 секунд (16.03.2012 - 10:28) sharki написал(а):
cyberside
Такой подход {lang='Русский|Russian'}, очень напоминает JSON представление, почему бы тебе не использовать такой же синтаксис? И парсить не надо :) Уже есть готовая функция, причем очень гибкая, а если учесть что JSON может быть многоуровневым.

Как бы я сделал, если брать твой вариант

!{'lang' : [Русский,Russian,Russisch], 'param1' : {'val': 1} }!


Тут уже можно играться как хочешь. Пишешь легкую регулярку и потом полученную строку прогоняешь через json_decode(). В итоге ассоциативный массив со всем что нужно

Спустя 12 минут, 52 секунды (16.03.2012 - 10:41) glock18 написал(а):
Если у господ одно место чешется на поиск проблем, то тут уже ничего не сделать laugh.gif rolleyes.gif

Спустя 1 минута, 27 секунд (16.03.2012 - 10:43) sharki написал(а):
glock18
Пусть учится на своих ошибках))

Спустя 19 минут, 25 секунд (16.03.2012 - 11:02) glock18 написал(а):
Цитата (sharki @ 16.03.2012 - 07:43)
glock18
Пусть учится на своих ошибках))

ты вариант предложил, вызывающий такое же ощущение smile.gif правда в еще большей степени даже rolleyes.gif

Спустя 1 день, 4 часа, 47 минут, 47 секунд (17.03.2012 - 15:50) Guest написал(а):
Можно отказаться от этих тагов и использовать просто классы. Смотри как сделано у меня на сайте:
http://innovativ.ru/wiki/MediaWiki:Lang.js
http://innovativ.ru/wiki/MediaWiki:Lang.css
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.