ÐÑд авÑоÑа: вÑÑÐ°Ñ Ð²Ð°Ñ, дÑÑзÑ. У ÑÑй ÑÑаÑÑÑ Ð¼Ð¸ з вами дÑзнаÑмоÑÑ Ð´ÐµÑÐºÑ ÑпеÑиÑÑÐºÑ ÑобоÑи ÑегÑлÑÑÐ½Ð¸Ñ Ð²Ð¸ÑазÑв з киÑилиÑÐµÑ Ð²Ð·Ð°Ð³Ð°Ð»Ñ Ñ ÐºÐ¾Ð½ÐºÑеÑно в PHP. ÐÑиÑÑÑпимо?
Ðо ÑÑого, в попеÑеднÑÑ ÑÑаÑÑÑÑ Ð¼Ð¸ з вами викоÑиÑÑовÑвали в ÑкоÑÑÑ ÑекÑÑÑ Ð²Ð¸ÐºÐ»ÑÑно лаÑинниÑÑ, киÑилиÑÑ Ð¼Ð¸ Ñникали. Ð¢ÐµÐ¿ÐµÑ Ð´Ð°Ð²Ð°Ð¹Ñе ÑпÑобÑÑмо знайÑи вÑÑ ÐºÐ¸ÑилиÑÐ½Ñ Ð»ÑÑеÑи в ÑÑдкÑ. У ÑкоÑÑÑ Â«Ð¿ÑддоÑлÑдного» ми викоÑиÑÑовÑÑмо ÑÑазÑ, Ñка може бÑÑи знайома комÑÑÑ Ð·Ñ ÑкÑлÑÐ½Ð¾Ñ Ð»Ð°Ð²Ð¸: «Ðван ÐаÑодив ÐÑвÑинкÑ, Ðаказав ТÑгÑи ÐелÑÑкÑ». Ð¦Ñ ÑÑаза бÑла покликана допомогÑи запам’ÑÑаÑи вÑдмÑнки в ÑоÑÑйÑÑкÑй мовÑ, оÑкÑлÑки пеÑÑа бÑква кожного Ñлова збÑгаÑÑÑÑÑ Ð· Ñим Ñи ÑнÑим падежем.
ÐÑже, Ñк ми пам’ÑÑаÑмо з попеÑеднÑÑ ÑÑокÑв, Ñ Ð¼ÐµÑаÑимвол \w, збÑгаÑÑÑÑÑ Ð· лÑÑеÑами, ÑиÑÑами Ñ Ñимволом пÑдкÑеÑленнÑ. Ðднак Ñ Ð´Ð°Ð½Ð¾Ð¼Ñ Ð²Ð¸Ð¿Ð°Ð´ÐºÑ Ð²Ñн не пÑдÑйде, оÑкÑлÑки вÑн збÑгаÑÑÑÑÑ ÑÑлÑки з лаÑинниÑей, не з киÑилиÑеÑ.
Як баÑимо, Ñей Ñаблон дÑйÑно не пÑÐ´Ñ Ð¾Ð´Ð¸ÑÑ. ÐÐ»Ñ Ð¿Ð¾ÑÑÐºÑ ÐºÐ¸ÑилиÑÑ Ð¼Ð¸ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾ÑиÑÑовÑваÑи ÑимволÑний ÐºÐ»Ð°Ñ â [], в ÑкÑй вкажемо дÑапазон киÑилиÑÐ½Ð¸Ñ Ð»ÑÑÐµÑ Ð²Ñд а до Ñ.
Цей Ñаблон ÑегÑлÑÑного виÑÐ°Ð·Ñ Ð²Ð¶Ðµ кÑаÑе. Ðле вÑе Ñе Ñ Ð½ÑанÑи â не знайдена бÑква е. Ð¦Ñ Ð±Ñква в ÑегÑлÑÑÐ½Ð¸Ñ Ð²Ð¸ÑÐ°Ð·Ð°Ñ Ð½Ðµ Ð²Ñ Ð¾Ð´Ð¸ÑÑ Ð² дÑапазон а-Ñ Ñ ÑÑ Ð¿Ð¾ÑÑÑбно вказÑваÑи окÑемо.
ÐÑÑ ÑÐµÐ¿ÐµÑ Ð²Ñе вÑдмÑнно. ÐÑÑ ÐºÐ¸ÑилиÑÐ½Ñ Ð±Ñкви знайденÑ. Ðднак Ñаблон ми ÑеÑÑÑвали в ÑеалÑзаÑÑÑ ÑегÑлÑÑÐ½Ð¸Ñ Ð²Ð¸ÑазÑв Ð´Ð»Ñ JavaScript. ÐавайÑе ÑпÑобÑÑмо пÑоÑеÑÑÑваÑи його в PHP ÑкÑипÑ. ÐвеÑнÑÑÑ ÑвагÑ, Ñ Ð²Ð¸ÐºÐ¾ÑиÑÑовÑÑ Ð²ÐµÑÑÑÑ PHP 5.4 (Ñ Ð²ÐµÑÑÑÑÑ Ð½Ð¸Ð¶Ñе може бÑÑи ÑнÑий ÑезÑлÑÑаÑ). Також Ñе один нÑÐ°Ð½Ñ â ми викоÑиÑÑовÑÑмо кодÑÐ²Ð°Ð½Ð½Ñ windows-1251 (Ñ Ð½Ð°ÑÑÑпнÑй ÑÑаÑÑÑ Ð¼Ð¸ дÑзнаÑмоÑÑ Ð½ÑанÑи ÑобоÑи з кодÑваннÑм utf-8).
ÐÑже, ÑкÑÐ¸Ð¿Ñ Ð½Ð¸Ð¶Ñе даÑÑÑ ÑезÑлÑÑаÑ, Ñкий ви побаÑиÑе на наÑÑÑÐ¿Ð½Ð¾Ð¼Ñ ÑкÑÑнÑоÑÑ:
Як баÑимо, вÑÑ ÐºÐ¸ÑилиÑÐ½Ñ Ð±Ñкви, кÑÑм Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð½Ð¸Ñ , бÑли знайденÑ. ÐодиÑÑкаÑÐ¾Ñ i пÑи ÑÑÐ¾Ð¼Ñ Ð½Ðµ зÑгÑав ÑÐ¾Ð»Ñ (нагадÑÑ, кодÑÐ²Ð°Ð½Ð½Ñ Ð´Ð¾ÐºÑменÑа windows-1251 Ñ Ð²ÐµÑÑÑÑ PHP 5.4). ÐÐ»Ñ Ñого, Ñоб ÑегÑлÑÑний виÑаз Ð´Ð»Ñ ÑобоÑи з киÑилиÑÐµÑ ÑÑало бÑлÑÑ ÑнÑвеÑÑалÑним, пÑибеÑемо модиÑÑкаÑÐ¾Ñ Ñ Ð²ÐºÐ°Ð¶ÐµÐ¼Ð¾ дÑапазон Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð½Ð¸Ñ Ð±Ñкв:
$pattern = ‘#[Ð-Яа-ÑÐе]+#’;
ÐÑÑ ÑÐµÐ¿ÐµÑ Ð²Ñе пÑаÑÑÑ, Ñк ÑÑеба. Ðа ÑÑÐ¾Ð¼Ñ Ð¼Ð¸ бÑдемо завеÑÑÑваÑи ÑÑогоднÑÑÐ½Ñ ÑÑаÑÑÑ. ÐÑлÑÑе пÑо ÑегÑлÑÑÐ½Ð¸Ñ Ð²Ð¸ÑÐ°Ð·Ð°Ñ Ð²Ð¸ можеÑе дÑзнаÑиÑÑ Ð· наÑого кÑÑÑÑ Ð· ÑегÑлÑÑними виÑазами. УдаÑÑ!