2д dsx word / word / word
Адаптируется в :
1) word[/m]2) word[/m]3) word[/m]
Тег [m1] не добавил т.к он в дальнейшем всеравно удаляется а [/m] заменяется на \n.
Если так норм(?) то останется только [m1] приписать
1 приписать в начале, 2 добавить после [/m], 3 убрать в конце
Да, это легко решается. На сайте они в html теги преобразуются, поэтому нужны полноценные.
dsx, протестировал CC-CEDICT, такие две ошибки:
Код:
Deprecated: Non-static method Entry::convertToPinyinDiacritic() should not be called statically in D:\home\qiaojiao\public_html\multicon_v6\dsx\adapter_ced.php on line 9
Для исправления public function convertToPinyinDiacritic заменить на public static function convertToPinyinDiacritic
Косяк с пиньинем, он не убирается, когда в середине слова (Shān1xi), там конвертер работает только при разбиении пробелами каждого слога. Вообще как-то очень там сложно вместо поска и замены по всем слогам ('a1':'ā','a2':'á','a3':'ǎ','a4':'à' ...)
Как я понял, там постороння библиотека, поэтому с пиньинем будет непросто, можно забить. А ошибку с static стоит исправить, т.к. сразу всю страницу забивает (на каждое слово). Это если ещё будете итерировать, у себя я исправил.
А так всё работает.
2д бкрс 1 приписать в начале, 2 добавить после [/m], 3 убрать в конце
Да, это легко решается. На сайте они в html теги преобразуются, поэтому нужны полноценные.
[m1]1) word[/m][m1]2) word[/m][m1]3) word[/m] ?
Цитата:Для исправления public function convertToPinyinDiacritic заменить на public static function convertToPinyinDiacritic
Понятно
Цитата:Как я понял, там постороння библиотека, поэтому с пиньинем будет непросто,
Ссылка на эту библиотеку на странице скачивания
https://www.mdbg.net/chinese/dictionary?page=cc-cedict
Я хочу это доработать
2д dsx Ссылка на эту библиотеку на странице скачивания
https://www.mdbg.net/chinese/dictionary?page=cc-cedict
Я хочу это доработать
А есть ли смысл в этой библиотеке? Там же просто прогнать текст через пару регулярок.
Вот мой скрипт на питоне:
Код:
text = text.replace(' /', ' [m1]')
text = text.replace('/', '[/m][m1]')
text = text.replace('[m1]\n', '\n')
text = re.sub(r'^([^ ]+?) ([^ ]+?) \[(.+?)\] ', r'\2\t\3\t', text, flags=re.MULTILINE)
text = re.sub(r'([^一-鶴])([一-鶴]+)\|([一-鶴]+)', r'\1\3', text, flags=re.MULTILINE)
py = {'a1':'ā','a2':'á','a3':'ǎ','a4':'à','a5':'a','ai':'ai','ai1':'āi','ai2':'ái','ai3':'ǎi','ai4':'ài','an1':'ān','an2':'án','an3':'ǎn','an4':'àn','ang1':'āng','ang2':'áng','ang3':'ǎng','ang4':'àng','ao1':'āo','ao2':'áo','ao3':'ǎo','ao4':'ào','ei1':'ēi','ei2':'éi','ei3':'ěi','ei4':'èi','e1':'ē','e2':'é','e3':'ě','e4':'è','en1':'ēn','en2':'én','en3':'ěn','en4':'èn','eng1':'ēng','eng2':'éng','eng3':'ěng','eng4':'èng','o1':'ō','o2':'ó','o3':'ǒ','o4':'ò','ou':'ou','ou1':'ōu','ou2':'óu','ou3':'ǒu','ou4':'òu','i1':'ī','i2':'í','i3':'ǐ','i4':'ì','i5':'i','in1':'īn','in2':'ín','in3':'ǐn','in4':'ìn','ing1':'īng','ing2':'íng','ing3':'ǐng','ing4':'ìng','ian1':'iān','ian2':'ián','ian3':'iǎn','ian4':'iàn','iao1':'iāo','iao2':'iáo','iao3':'iǎo','iao4':'iào','ie1':'iē','ie2':'ié','ie3':'iě','ie4':'iè','ei4':'èi','u1':'ū','u2':'ú','u3':'ǔ','u4':'ù','er1':'ēr','er2':'ér','er3':'ěr','er4':'èr','u:1':'ǖ','u:2':'ǘ','u:3':'ǚ','u:4':'ǜ','ong1':'ōng','ong2':'óng','ong3':'ǒng','ong4':'òng','un1':'ūn','un2':'ún','un3':'ǔn','un4':'ùn','n5':'n','g5':'g','o5':'o','u5':'u','r5':'r','e5':'e'}
for i, j in py.items():
text = text.replace(i, j)
(一-鶴 это прообраз \p{Han})
Тут традиционный удаляется и всё в строку.
2д бкрс А есть ли смысл в этой библиотеке? Там же просто прогнать текст через пару регулярок.
Вот мой скрипт на питоне:
Код:
text = text.replace(' /', ' [m1]')
text = text.replace('/', '[/m][m1]')
text = text.replace('[m1]\n', '\n')
text = re.sub(r'^([^ ]+?) ([^ ]+?) \[(.+?)\] ', r'\2\t\3\t', text, flags=re.MULTILINE)
text = re.sub(r'([^一-鶴])([一-鶴]+)\|([一-鶴]+)', r'\1\3', text, flags=re.MULTILINE)
py = {'a1':'ā','a2':'á','a3':'ǎ','a4':'à','a5':'a','ai':'ai','ai1':'āi','ai2':'ái','ai3':'ǎi','ai4':'ài','an1':'ān','an2':'án','an3':'ǎn','an4':'àn','ang1':'āng','ang2':'áng','ang3':'ǎng','ang4':'àng','ao1':'āo','ao2':'áo','ao3':'ǎo','ao4':'ào','ei1':'ēi','ei2':'éi','ei3':'ěi','ei4':'èi','e1':'ē','e2':'é','e3':'ě','e4':'è','en1':'ēn','en2':'én','en3':'ěn','en4':'èn','eng1':'ēng','eng2':'éng','eng3':'ěng','eng4':'èng','o1':'ō','o2':'ó','o3':'ǒ','o4':'ò','ou':'ou','ou1':'ōu','ou2':'óu','ou3':'ǒu','ou4':'òu','i1':'ī','i2':'í','i3':'ǐ','i4':'ì','i5':'i','in1':'īn','in2':'ín','in3':'ǐn','in4':'ìn','ing1':'īng','ing2':'íng','ing3':'ǐng','ing4':'ìng','ian1':'iān','ian2':'ián','ian3':'iǎn','ian4':'iàn','iao1':'iāo','iao2':'iáo','iao3':'iǎo','iao4':'iào','ie1':'iē','ie2':'ié','ie3':'iě','ie4':'iè','ei4':'èi','u1':'ū','u2':'ú','u3':'ǔ','u4':'ù','er1':'ēr','er2':'ér','er3':'ěr','er4':'èr','u:1':'ǖ','u:2':'ǘ','u:3':'ǚ','u:4':'ǜ','ong1':'ōng','ong2':'óng','ong3':'ǒng','ong4':'òng','un1':'ūn','un2':'ún','un3':'ǔn','un4':'ùn','n5':'n','g5':'g','o5':'o','u5':'u','r5':'r','e5':'e'}
for i, j in py.items():
text = text.replace(i, j)
(一-鶴 это прообраз \p{Han})
Тут традиционный удаляется и всё в строку.
Я подумал раз он там на странице, значит рекомендуется авторами в качестве проверенного пхп парсера. Он пиньинь в нутрях совсем не парсит, convertToPinyinDiacritic изначально private.
Вам тогда удобнее продолжать использовать свой скрипт на питоне. Я питон незнаю.
Сейчас:
Исправил на public static, добавил [m1], изменил название, немного улучшил пиньинь в нутрях cedict но местами ещё есть нераспознанный, и ещё из печати (html) выбросил шапку и чекбоксы а то они много места занимали.
На будущее значит нужно сделать нормальный парсер, но пока мне это не по силам.
dsx, случайно или специально первое сообщение убрали? Может баг какой.
В логах есть если что, там вроде ридми и пару скриншотов (их возможно уже нет)
Ещё такая проблема, может кто-то знает как её решить - в html страницы для печати/сохранения в PDF режутся прямо по строкам, разделя одну строку по разным страницам :
1д dsx Ещё такая проблема, может кто-то знает как её решить - в html страницы для печати/сохранения в PDF режутся прямо по строкам, разделя одну строку по разным страницам :
Это скорее всего от браузера/системы зависит. Максимум, какое-то переключение текста или картинки.
Не понятен смысл pdf/печати, даже если кто-то распечатывает, он это как-то сам делает, а не из браузера. Лучше дать возможность удобно скопировать, например, в текстовый файл с хорошим форматированием (обычным не табличным).
|