И так, по плану есть тег {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 может быть многоуровневым.
Как бы я сделал, если брать твой вариант
Тут уже можно играться как хочешь. Пишешь легкую регулярку и потом полученную строку прогоняешь через json_decode(). В итоге ассоциативный массив со всем что нужно
Такой подход {lang='Русский|Russian'}, очень напоминает JSON представление, почему бы тебе не использовать такой же синтаксис? И парсить не надо :) Уже есть готовая функция, причем очень гибкая, а если учесть что JSON может быть многоуровневым.
Как бы я сделал, если брать твой вариант
!{'lang' : [Русский,Russian,Russisch], 'param1' : {'val': 1} }!
Тут уже можно играться как хочешь. Пишешь легкую регулярку и потом полученную строку прогоняешь через json_decode(). В итоге ассоциативный массив со всем что нужно
Спустя 12 минут, 52 секунды (16.03.2012 - 10:41) glock18 написал(а):
Если у господ одно место чешется на поиск проблем, то тут уже ничего не сделать
Спустя 1 минута, 27 секунд (16.03.2012 - 10:43) sharki написал(а):
glock18
Пусть учится на своих ошибках))
Пусть учится на своих ошибках))
Спустя 19 минут, 25 секунд (16.03.2012 - 11:02) glock18 написал(а):
Цитата (sharki @ 16.03.2012 - 07:43) |
glock18 Пусть учится на своих ошибках)) |
ты вариант предложил, вызывающий такое же ощущение правда в еще большей степени даже
Спустя 1 день, 4 часа, 47 минут, 47 секунд (17.03.2012 - 15:50) Guest написал(а):
Можно отказаться от этих тагов и использовать просто классы. Смотри как сделано у меня на сайте:
http://innovativ.ru/wiki/MediaWiki:Lang.js
http://innovativ.ru/wiki/MediaWiki:Lang.css
http://innovativ.ru/wiki/MediaWiki:Lang.js
http://innovativ.ru/wiki/MediaWiki:Lang.css