Ихэнхдээ хэрэгцээ байдаг PHP хэл дээрх нэрийг солих. " гэсэн хэллэгтэй санал нийлж байна. Илья найзаар нэмнэ үү"илүү муу сонсогдож байна" Ильяг найздаа нэмээрэй". Тийм учраас PHP хэл дээрх нэрийг жижиг үсгээр нь хасахЭнэ нь ихэвчлэн шаардлагатай байдаг бөгөөд энэ нийтлэлд би үүнийг вэбсайт дээрээ хэрхэн хэрэгжүүлэх талаар танд хэлэх болно.
Харамсалтай нь хамгийн тохиромжтой сонголт байхгүй гэдгийг би шууд хэлье. Эхний сонголт нь маш тодорхой юм: бүх тохиолдолд байх нэрсийн мэдээллийн санг олж, энэ хүснэгтийг өөрийн хүснэгтэд нэмнэ үү. Дараа нь нэрлэсэн тохиолдолд нэрээр нь мэдээллийн сангаас харгалзах тохиолдлыг хайж олоорой. Энд байгаа сул талууд нь тодорхой байна: асар том мэдээллийн сан, бүх нэрийг хамарч чадахгүй, серверийн нэмэлт ачаалал.
Хоёр дахь сонголт бол өөрөө бичих явдал юм РНР хэл дээрх нэр хасах анги, эсвэл бэлэн нэгийг ашиглана уу. Орос хэл дээрх дүрмүүд нь нэлээд төвөгтэй тул олон үл хамаарах зүйлүүд байдаг тул маш том номын сан шаардлагатай болно, тэр ч байтугай энэ нь тийм ч хол юм. 100% аврах. Бүх номын сангуудаас хамгийн алдартай нь PHP дахь нэрсийн хасалтнь NameCaseLib юм.
Энэ номын санг татаж аваад вэбсайтдаа байршуулсны дараа та үүнийг дараах байдлаар ашиглаж болно.
$case = шинэ NCLNameCaseRu(); // NCLNameCaseRu классын объект үүсгэнэ
$array = $case->q("Русаков Михаил Юрьевич"); // Бид оролтын мөр гарч ирэх 6 тохиолдолд харгалзах 6 элементийн массивыг авна
хэвлэх_r ($ массив); // Массив гаргана
?>
Таны харж байгаагаар номын сан ашиглах нь маш энгийн. Нөгөөтэйгүүр, миний гол зөвлөгөө бол: Боломжтой бол үг солихоос бүрэн зайлсхий.. Гэсэн хэдий ч заримдаа хүмүүс ямар ч байдлаар хазайх боломжгүй зүйлийг танилцуулж, түүнийг өдөөх оролдлого нь инээдтэй харагдах болно. Заавал бичих шаардлагагүй" Ильяг найздаа нэмээрэй"Энгийн байдлаар бичиж болно" Найзаар нэмэх"Ильягийн хуудсан дээр.
Morpher.so модуль нь орос, украин хэл дээрх овог, овог нэр, овог нэр, хот, барааны нэрс гэсэн үг, хэллэгийг жижиг үсгээр бичихэд зориулагдсан.
Тохиолдолд хамааруулан хасах функц
Нэг сая доллар явж байна-аасНабережные Челны" , " саваа " ); ?> !
Үүний үр дүнд бид:
Нэг сая доллар Набережные Челнигийн Василий Пупкинд очно!
morpher_inflect функц нь нэрлэсэн тохиолдолд (эхний аргумент) ямар ч тохиолдолд (хоёр дахь аргумент) хэллэгийг шилжүүлдэг. Энэ хэрэг дараахь утгыг агуулж болно.
Номын сан руу дамжуулсан бүх мөрүүд UTF-8 кодчилолтой байх ёстой. Үр дүнг мөн UTF-8-д буцаана.
Украин хэлэнд тохирох функцийг morpher_ukr_inflect гэж нэрлэдэг. Одоогийн байдлаар энэ нь зөвхөн овог, нэр, овог нэрээр ажилладаг бөгөөд орос хэлнээс дараах тохиолдлуудын нэрээр ялгаатай байна.
Олон тоо руу орчуулах нь Украины хувилбарт хараахан хэрэгжээгүй байна.
Нэрийг бүрэлдэхүүн хэсгүүдэд хуваах функц
Morpher_split_fio функц нь оролтын мөрийг овог, нэр, дунд нэр гэсэн массив болгон хуваадаг.
F: Хулууны I: Василий О:
Олонжүүлэх функц
Хэрэв та хоёр дахь параметрт "mn" мөрийг нэмбэл үр дүн нь олон тоогоор гарна:
Нөөцөд үлдсэн 238 .
Агуулахад 238 покер үлдсэн байна.
Хэрэв эхний параметр аль хэдийн олон тоотой байвал дараахыг буцаана:
#АЛДАА: Параметр 1 "текст" нь олон тоо юм.
Төрөл тодорхойлох функц
" y " , " f " => " y " , " n " => " өө " , " p " => " y " ); $name = "мэргэжилтнүүд"; $саваа = morpher_get_gender ($нэр); "Хүндэтгэл" гэсэн цуурай. $төгсгөлүүд [ $саваа]. " " . $нэр. " !\n " ; ?>
Украйн хэл дээрх овог, нэр, овог нэрийн хүйсийг тодорхойлохын тулд morpher_ukr_get_gender функцийг ашиглана уу. Энэ нь зөвхөн "m" (эрэгтэй) эсвэл "f" (эм) -ийг буцаана.
Тоо, мөнгөн дүнг бичих функц
morpher_spell функц нь тооны зөв бичгийн дүрмийг бүрдүүлж, өгөгдсөн хэмжилтийн нэгжийг хүссэн тохиолдолд оруулна.
хуанлийн өдөр" ); // Хуанлийн 28 (Хорин найм) өдөр morpher_spell("1.2", "хувь"); // 1.2 (нэг оноо хоёр) хувь morpher_spell(2, "өдөр"); // 2 (хоёр) хоног ?>
Хэрэв та тодорхой тохиолдолд текстэнд үг оруулах шаардлагатай бол энэ хэргийг гурав дахь параметр болгон зааж өгнө үү.
үедхуанлийн өдөр" , " R " ); ?> .
Үүний үр дүнд бид "Хуанлийн 28 (Хорин найм) өдрийн дотор" гэсэн мэдээллийг авдаг.
Зөвшөөрөгдсөн тохиолдлын утгууд: I, R, D, V, T, P болон тэдгээрийн латин хэл дээр бичигдсэн аналогуудыг үзнэ үү. Угтвар үгийн хэлбэрүүд (predl-o болон gde) энэ функцэд дэмжигддэггүй.
Зарим мөнгөний нэгжийн нэрсийн хувьд morpher_spell функц нь дараах байдлаар бичдэг:
Нэг зуун хорин гурван рубль 45 копейк morpher_spell(123.45, "USD"); // Нэг зуун хорин гурван ам.доллар 45 цент morpher_spell(123.45, "евро"); // Нэг зуун хорин гурван евро 45 цент?>
Хэрэв хүсвэл та цэгтэй эсвэл цэггүй мөнгөний нэгжийн товчилсон нэрийг ашиглаж болно.
Зуун хорин гурван рубль. 45 копейк morpher_spell(123.45, "$"); // Нэг зуун хорин гурван ам.доллар 45 цент morpher_spell (123.45, " UAH " ); // Нэг зуун хорин гурван грн. 45 копейк?>
Эсвэл RUB, USD, EUR гэх мэт ISO 4217 олон улсын стандартын гурван үсэгтэй валютын кодууд. Энэ тохиолдолд тухайн улсын нэрийг тухайн валютын нэрэнд автоматаар оруулна:
Нэг зуун хорин гурван орос рубль 45 копейк morpher_spell(123.45, "UAH"); // Нэг зуун хорин гурван Украины гривен 45 копейк morpher_spell(123.45, "KZT"); // Казахын нэг зуун хорин гурван тенге 45 тиын?>
Боловсруулахад алдаа гарлаа
Хэрэв алдаа гарвал номын сангийн бүх функцууд "#ERROR:" -ээр эхэлсэн мөрийг буцаана.
#АЛДАА: Параметр 1 "текст" хоосон байж болохгүй. |
#АЛДА: Параметр 2 "хэрэгс" хоосон байж болохгүй. |
#АЛДА: Параметр 1 "текст" нь орос хэл биш. |
#АЛДАА: Параметр 2 "тохиолдол" буруу байна. |
#АЛДАА: Параметр 1 "текст" нь олон тоо юм. |
Хэрэв та хэрэглэгч эдгээр мессежийг харахыг хүсэхгүй байгаа бол "#ERROR:" анхны дэд мөрийг шалгана уу.
morpher_inflect функц нь 2 параметр, morpher_get_gender - нэг параметрийг хүлээж байна. Хэрэв буруу тооны параметрээр дуудсан бол PHP орчуулагч анхааруулга өгч, програмыг үргэлжлүүлэн ажиллуулна.
Линукс дээр модулийг суулгаж байна
1.3.0 хувилбараас эхлэн бид PHP-ийн Линукс хувилбарын модулийг архивт багцалсан урьдчилан эмхэтгэсэн morpher.so файл хэлбэрээр өгдөг. Эдгээр файлууд нь дараах Linux түгээлтүүд дээр ашиглахад тохиромжтой.
- Дебиан (Жесси, Стретч, Визи);
- Ubuntu (Trusty, Xenial, Cosmic, Bionic);
- CentOS 7.
Та түгээх зориулалттай morpher.so-г авахын тулд бидэн рүү бичихэд л хангалттай, morpher.so-г архиваас гаргаж аваад morpher.so-г PHP өргөтгөл болгон авна. Гэсэн хэдий ч, бид модулийг зөвхөн анхдагч тохиргоотой "цэвэр" системүүд болон системийн багц менежерээс санал болгож буй PHP хувилбар дээр бүтээдэг тул ийм модуль нь таны системтэй хоёртын нийцтэй байх нь баталгаатай биш юм. Хэрэв модуль таарахгүй бол PHP үүнийг өргөтгөл болгон ачаалах боломжгүй болно. Хэрэв бэлэн модулийн файлуудын аль нь ч таны системд тохирохгүй бол та өгсөн эх кодоос модулийг бүтээх хэрэгтэй.
Модуль угсрах процедурыг хялбарчлах, хялбаршуулах үүднээс түгээлтийн хэрэгсэлд PHP-ийн өргөтгөл болгон эмхэтгэх, модулийг угсрах, модулийг бүртгэхэд шаардлагатай багцуудыг суурилуулах ажлыг автоматжуулах скриптүүдийн багц багтсан болно. Үйлдлийн системийн олон төрлийн түгээлтүүд, янз бүрийн тохиргооны сонголтууд болон php-д зориулсан өргөтгөлүүдийг угсрах онцлогуудыг харгалзан үзэхэд зарим тохиолдолд модулийг суулгахдаа угсралтын скриптүүдээр гүйцэтгээгүй нэмэлт үйлдлүүд шаардлагатай байдаг гэдгийг та ойлгох хэрэгтэй.
Автомат суулгах процедурыг эхлүүлэхийн тулд түгээлтийг дурын санд задлаарай, жишээ нь morpher:
# mkdir morpher # CD морфер # tar xf ../morpher.tar # cd phpБүтээлийн скриптийг дараах тушаалаар ажиллуулна уу:
# bash build.shАмжилттай бол morpher.so модулийн файлыг эмхэтгэж php өргөтгөлүүдийн лавлах руу зөөнө. Модуль нь php тохиргоонд бүртгэгдэх бөгөөд модулийн ажиллагааг тест ашиглан автоматаар шалгах болно. Угсралтын скриптийн текстийн гаралт нь амжилттай туршилтыг харуулсан мессежийг агуулсан байх ёстой:
Туршилтууд хийгдэж байна... ... хийгдсэн.
Таны модулийг ашиглахад бэлэн байна. Энэ лавлахыг одоо устгаж болно:
# rm -r морферХэрэв та бүтээхэд асуудал гарвал шаардлагатай бүх багцуудыг систем дээрээ суулгаж, тохируулсан эсэхийг шалгах хэрэгтэй. Модулийг угсарч ажиллуулахын тулд та дараахь зүйлийг суулгах хэрэгтэй.
Та дараах тушаалаар нэмэлт үйлдэл хийхгүйгээр модулийг барьж эхлэх боломжтой.
# bash compile.shАмжилттай эмхэтгэсний дараа morpher.so файл morpher/php/modules санд байрлана.
Morpher.so файлыг PHP өргөтгөлийн санд байрлуулах шаардлагатай, жишээ нь:
# php-config --өргөтгөл-дир/usr/lib/php5/20121212 # mv modules/morpher.so /usr/lib/php5/20121212/Таны систем дээрх өргөтгөлийн лавлах өөр байж болно.
# bash setup.shэсвэл php.ini файлд өргөтгөлийн нэрийг өөрөө зааж өгнө үү. Та тушаалын мөрөөс туршилтын PHP скриптийг гараар ажиллуулж өргөтгөлийн ажиллагааг шалгаж болно.
# php -f test.phpТуршилтууд хийгдэж байна... ... хийгдсэн.Угсрах явцад гарч болзошгүй алдаа, тэдгээрийг арилгах арга замууд
Алдаа: /usr/bin/ld: -lm олж чадахгүй байна
Шалтгаан: Танд glibc-static багц суулгаагүй байна.
Алдаа: .../include/php/php_config.h:2526:30: алдаа: хэт ачаалагдсан 'isnan(double&)' дуудлага нь хоёрдмол утгатай байна. (мөрийн дугаар таны PHP хувилбар болон тохиргоонд өөр байж болно)
Маш алдартай асуудал тулгарсан Вэб програмистууд, Энэ PHP хэл дээрх үгсийн бууралт. Жишээлбэл, та хэдэн минутын өмнө мессеж үлдсэнийг харуулах хэрэгтэй. Та зүгээр л тоо, үг бичиж болно " минут". Гэхдээ дараа нь энэ нь маш хачирхалтай бичигдэх болно, жишээ нь, " 1 минут", "2 минут" гэх мэт. Үнэн хэрэгтээ, үгүй PHP хэл дээрх үгсийн бууралтМэдээж оросоор бичмээргүй л бол болохгүй.
Асуудал нь эхлэгчдэд маш хэцүү мэт санагдах боловч үнэн хэрэгтээ үг хэллэгийг багасгах тодорхой хэв маяг байдаг. Өөрийгөө хараарай: " 1 минут, 2 минут, 5 минут, 11 минут, 19 минут, 21 минут, 22 минут, 25 минут гэх мэт"Загвар харж байна уу? 1, 21, 31, 41 - үргэлж байх болно" минут". Хэрэв хамгийн бага ач холбогдол бүхий цифр илүү байвал 1-рба бага 5 , хуваах үед тоо нь өөрөө 100 илүү их үлдэгдэлтэй байна 20 (жишээлбэл, тоо биш 12 бас үгүй 112 ), дараа нь байх болно " минут". Бусад тохиолдолд " минут".
getWord функц ($ тоо, $ дагавар) (
$keys = массив(2, 0, 1, 1, 1, 2);
$mod = $тоо % 100;
$ дагавар_түлхүүр = ($ mod > 7 & & $ mod< 20) ? 2: $keys;
буцаах $ дагавар[$ дагавар_түлхүүр];
}
$ массив = массив("минут", "минут", "минут"); $n = 21;
echo "$n $ үг
";
$n = 11;
$word = getWord($n, $массив);
echo "$n $ үг
";
$n = 4;
$word = getWord($n, $массив);
echo "$n $ үг
";
?>
Энэ скриптийг ажиллуулснаар та үүнийг харах болно PHP хэл дээрх үгсийн бууралттэсрэлттэй хамт тохиолддог. "Би зөвхөн үүнийг нэмж болно" минут"байж магадгүй" өдөр", "цаг", "Хүн", "компьютер"болон бусад бүх нэр үг тооноос хамаарч буурна.
Таны хөтөч дээр JavaScript блоклогдсон байна. Сайтыг ажиллуулахын тулд JavaScript-г идэвхжүүлнэ үү!
Үгний хазайлт, хүйс (эрэгтэй, эмэгтэйлэг) авах API, үгийн бууралт болон бусад шинж чанарууд
Word Declension API
Сонголтууд:урсгах- хоосон зайгаар тусгаарлагдсан үг эсвэл үгсийн жагсаалт. Дараах сонголтууд нь зөвхөн нэг үг дамжуулагдсан тохиолдолд л боломжтой.
ярианы хэсэг –
Тодорхойлогч | Жишээ | Тодорхойлолт |
---|---|---|
C | Ээж ээ | нэр үг |
П | улаан | нэр үг |
KR_APIL | үзэсгэлэнтэй | богино нэр үг |
INFINITIV | яв | хязгааргүй |
Г | ирж байна | хувийн үйл үг |
Оролцогч | алхах | оролцогч |
ОРОЛЦОГЧ | явж байна | оролцогч |
KR_PARTICIPLE | барьсан | богино өгүүлбэр |
NUMBER | найм | тоо (тоон) |
NUMBER-P | найм дахь | дэс дугаар |
MS | Тэр | төлөөний нэр |
MS-PREDC | юу ч биш | урьдчилан хэлэх үг |
MS-P | ямар ч | нэрийн нэр |
Н | Сайхан байна | үйл үг |
ӨВӨГ ДЭЭДЭС | Сонирхолтой | предикат |
ДЭЭДЭЙ | доор | шалтаг |
НЭГДСЭН | Тэгээд | нэгдэл |
ХООРОНД | Өө | хөндлөнгийн үг |
БАЙНГА | яахав дээ | бөөмс |
INVODN | Мэдээж | оршил үг |
ПРАЗ | floundering bays, zgi | фразеологийн нэгж |
Грамма | Тодорхойлолт | |
---|---|---|
Төрөл | ||
ноён | эрэгтэйлэг | |
zhr | эмэгтэйлэг | |
Лхагва | саармаг хүйс | |
ноён-жр | ерөнхий хүйс (өнчин, архичин) | |
Тоо | ||
нэгж | ганц бие | |
pl | олон тоо | |
Кейс | ||
тэд | нэр дэвшсэн | |
rd | удамшлын | |
dt | болзоо | |
vn | буруутгагч | |
ТВ | багаж хэрэгсэл | |
гэх мэт | угтвар үг | |
дуу чимээ | дуудлагын (аав, бурхан) | |
2 | Хоёрдахь төрөл буюу хоёр дахь угтвар үг | |
Цаг хугацаа | ||
nst | Одоо цаг | |
болно | Ирээдүйн цаг | |
prsh | өнгөрсөн цаг | |
Нүүр | ||
1л | анхны хүн | |
2л | хоёр дахь хүн | |
3л | гуравдагч этгээд | |
Аниматик | ||
од | хөдөлгөөнтэй болгох | |
Гэхдээ | амьгүй | |
Харах | ||
St. | төгс үзэмж | |
ns | төгс бус төрөл зүйл | |
Дамжин өнгөрөх чадвар | ||
np | шилжилт | |
үгүй | шилжилт хөдөлгөөнгүй | |
Амлалт | ||
dst | идэвхтэй дуу хоолой | |
хуудас | идэвхгүй дуу хоолой | |
Бусад | ||
0 | хувиршгүй | |
bezl | хувийн бус үйл үг | |
pvl | Зайлшгүй сэтгэлийн байдал (зайлшгүй) | |
татах | эзэмшигч (ашиглагдаагүй) | |
өмнөх | дээд зэргийн (тэмдэг үгийн хувьд) | |
харьцуулах | харьцуулсан зэрэг (тэмдэг үгийн хувьд) | |
чанар | чанарын шинж тэмдэг | |
Семантик шинж чанарууд | ||
Нэр | нэр (Иван, Михаил) | |
эмэгтэй | овог (Иванов, Сидоров) | |
тайлан | овог нэр (Иванович, Михайлович) | |
лок | топоним (Москва, Лена, Эверест) | |
товчлол | товчлол (KPSS, RONO) | |
org | байгууллага | |
асуулт | асуух үйл үг | |
зааж өгнө | харуулах үйл үг | |
этгээд хэл | үг хэллэг | |
задрал | ярианы хэлээр | |
нуман | архаизм | |
HRH | үсгийн алдаа | |
яруу найрагч | яруу найргийн | |
проф | мэргэжлийн ур чадвар |
Http://site/service/api.php?inflect=Магадан&json
("0":"МАГАДАН","1":"МАГАДАН","2":"МАГАДАН","3":"МАГАДАН","4":"МАГАДАН","5":"МАГАДАН"," 6":"МАГАДАНА","7":"МАГАДАНА","8":"МАГАДАНА","9":"МАГАДАНА","хязгаар":38)
Http://site/service/api.php?inflect=Магадан
Http://site/service/api.php?inflect=Ростов-на-Дону&xml
"Хурим" гэдэг үгнээс амьгүй олон тооны нэр үгийг авахын тулд:
Https://site/service/api.php?inflect=wedding&json&partofspeech=P&grammems=NO,MN&info
Авах:
("0":("word":"WEDDING","partofspeech":"P","grammems":["DT","QUALITY","MN","NO","OD"]), " 1":("word":"WEDDING","partofspeech":"P","grammems":["IM","QUALITY","MN","BUT","OD"]), "2" :("word":"WEDDING","partofspeech":"P","grammems":["VN","KACH","MN","BUT"]), "3":("үг": "WEDDING","partofspeech":"P","grammems":["QUALITY","MN","BUT","OD","RD"]), "4":("word":"WEDDING" ","partofspeech":"P","grammems":["QUALITY","MN","BUT","OD","PR"]), "5":("word":"WEDDING" " partofspeech":"P","grammems":["QUALITY","MN","NO","OD","TV"]) ,,"limit":19) Мэдээллийн параметргүй:
http://site/service/api.php?inflect=wedding&json&partofspeech=P&grammems=NO,MN
("0":"WEDDING","1":"WEDDING","2":"WEDDING","3":"WEDDING", "4":"WEDDDING","5":"Хурим"," хязгаар": 19)
Хүйс, нэр: эрэгтэй, эмэгтэй үг авах API
Хүйс авах API: эрэгтэй, эмэгтэй нэрээр. Энэхүү API-г ашигласнаар та хэрэглэгчийн нэрийг ашиглан хэрэглэгчийн хүйсийг авах боломжтой. Ингэснээр бүртгэлийн явцад нэмэлт маягт бөглөх шаардлагагүй болно.
Сайн уу, Хабрахабр!
Өнөөдөр би жижиг боловч маш хэрэгтэй хүрээний тухай ярих болно - NameCaseLib.
Хүний овог, овог нэр, овог нэрээс татгалзах шаардлагатай нөхцөл байдал олон хүнтэй тулгарсан гэж би бодож байна. Энэхүү бүтэц нь олон тооны "унадаг дугуй" -аас салахад тусална.
Суурилуулалт
NameCaseLib-г ажиллуулахын тулд бидэнд PHP5 болон UTF-8 форматтай тексттэй ажиллах php_mbstring номын сан хэрэгтэй.Гайхалтай, одоо зөвхөн хүрээг өөрөө холбох л үлдлээ, үүний тулд бид шаардлагатай файлуудыг татаж авах болно.
NameCaseLib нь Орос, Украин гэсэн хоёр хэлийг дэмждэг. NCL.NameCase.ru.php файл нь Оросын хасалтын дүрмийг, Украины NCL.NameCase.ua.php-г тус тус агуулдаг. NCL хавтас нь хүрээний "цөм" буюу үндсэн функцүүдийн багцыг агуулдаг.
Тиймээс, .php форматаар файл үүсгэж, энэ хүрээний функцийг шалгацгаая.
# Указываем кодировку. header("Content-type: text/html; charset=utf-8"); # Подключаем русские правила склонения. require "NCL.NameCase.ru.php"; # Объявляем объект класса. $case = new NCLNameCaseRu(); # Метод q - склоняет Фамилию, Имя и Отчество человека по правилам пола. $array = $case->q("Максимов Александр Васильевич"); # Үүссэн массивыг гарга. (Тэмдэглэл: энгийн индексжүүлж болох массивыг буцаана) var_dump($array); ?>
Үүний дагуу бид Украйны хасах дүрмийг холбосноор Украины бүтэн нэрийг үгүйсгэж болно.
Гэхдээ энэ арга нь ямар параметрүүдийг агуулж байгааг харцгаая q, мөн үүнийг өөр яаж ашиглаж болох вэ?
Энэ арга нь 3 параметртэй бөгөөд тэдгээрийн 2-ыг нь орхигдуулж болно. Эхний параметр нь тухайн хүний бүтэн нэр, хоёр дахь нь тохиолдол (би тогтмол тоонуудын жагсаалтыг доор өгөх болно; хэрвээ тухайн тохиолдлыг заагаагүй бол (NULL), арга нь бүх тохиолдлыг буцаана), гурав дахь нь тухайн хүний хүйс юм. (Тогтмол утгыг мөн доор өгөв; хэрэв та хүйсийг (NULL) заагаагүй бол арга өөрөө тодорхойлох болно)
Тогтмолууд
Хүйсийг тодорхойлохын тулд тогтмолуудыг ашигладаг.- NCL::$MAN – эрэгтэй хүйс
- NCL::$ WOMAN – эмэгтэй
Орос хэлний тохиолдлыг заахдаа:
- NCL::$IMENITLN - нэрлэсэн тохиолдол
- NCL::$RODITLN - генитив тохиолдол
- NCL::$DATELN - болзооны тохиолдол
- NCL::$VINITELN - буруутгах тохиолдол
- NCL::$TVORITELN - хэрэглүүрийн хэрэг
- NCL::$PREDLOGN - угтвар үг
Украин хэлний тохиолдлыг зааж өгөхийн тулд:
- NCL::$UaNazyvnyi – нэрийн хавтан
- NCL::$UaRodovyi – ерөнхий үзэл бодол
- NCL::$UaDavalnyi – урт хугацааны админ
- NCL::$УаЗнахидный – алдартай видео
- NCL::$UaOrudnyi – зэвсгийн дэлгэц
- NCL::$UaMiszevyi – miscevyi vidminok
- NCL::$UaKlychyi – хувийн хүлээн зөвшөөрөлт
Тэмдэглэл
- Нэрийн дараалал хамаагүй.
- Аль тохиолдолд бүтэн нэрийг зааж өгөх нь хамаагүй, хасагдсаны дараа арга нь хадгалсан үсгийг буцаана.
Бүтэн нэрний хэсгийн тодорхойлолт
getFullNameFormat аргыг ашигласнаар бид бүтэн нэрний хэсэг эсвэл аль хэсгийг ашиглаж байгааг тодорхойлж болно.
# Указываем кодировку. header("Content-type: text/html; charset=utf-8"); # Подключаем русские правила склонения. require "NCL.NameCase.ru.php"; # Объявляем объект класса. $case = new NCLNameCaseRu(); # Метод getFullNameFormat - разбивает строку и возвращает формат, в котором записано имя. $fullName = $case->getFullNameFormat("Максимов Александр Васильевич"); /* Бид дараах форматыг авдаг: S F N, энд: - S - Овог - N - Нэр - F - Дунд нэр */ echo $fullName; ?>
Гэхдээ хүрээ таны сонгосон нэрээс хэрхэн татгалзахыг зөв тодорхойлж чадахгүй хэвээр байвал яах ёстой вэ?
Энэ зорилгоор номын сан нь qFullName аргыг өгдөг бөгөөд энэ нь хүний овог, нэр, овог нэр, хүйсийг тодорхой дарааллаар зааж өгөх боломжийг олгодог.
# Указываем кодировку. header("Content-type: text/html; charset=utf-8"); # Подключаем русские правила склонения. require "NCL.NameCase.ru.php"; # Объявляем объект класса. $case = new NCLNameCaseRu(); # Параметры метода: qFullName(Фамилия, Имя, Отчество, пол, падеж, формат); Все параметры являются необязательными, если, например, не указать пол - система сама определит его. echo $nc->qFullName("Максимов", "Александр", "Васильевич", NCL::$MAN, NCL::$TVORITELN, "S N F")."\n"; ?>