Follow along with the video below to see how to install our site as a web app on your home screen.
Бележка: This feature may not be available in some browsers.
yuspasov каза:Както казах този вариант на preg_replace не върши работа, защото през него не минава кирилицата.![]()
critrate каза:минава , просто трябва да си структурираш регуларния израз правилно.
така поне мисля,че ще стане
ето ти пример
preg_match("/[a-zа-я0-9]/iu", $string, $matches);
приема малки и големи букви + Кирилица
preg_match('/^[a-zA-Zа-яА-Я0-9_\.]+$/', $string);
TryMe каза:@kikity няма значение, че са различни концепцията им е една и съща, а именно регилярни изрази, което имаше предвид автора.
А относно кирилицата, и двамата сте дали грешни варианти.
За кирилица се използва \W в израза. Т.е., кирилицата не се засича като нормална дума.
Ми можеше да дадеш пример вместо така да се дърпаш.TryMe каза:Да ме видя да давам малко w? Аз добре знам кое какво прави и я сега пробвай \W (главно w). В регулярните изрази това : а-яА-Я е грешно. Няма кирилица. Кирилицата отива към знаците различни от латиница, затова се слага \W, което приема всичко, което не е дума![]()
critrate каза:Ми можеше да дадеш пример вместо така да се дърпаш.TryMe каза:Да ме видя да давам малко w? Аз добре знам кое какво прави и я сега пробвай \W (главно w). В регулярните изрази това : а-яА-Я е грешно. Няма кирилица. Кирилицата отива към знаците различни от латиница, затова се слага \W, което приема всичко, което не е дума![]()
$string = preg_replace("#(\W)+#", "", $string);
както ти го дадоха остави само a-z а-я 0-9yuspasov каза:Ама идеята е да оставя кирилицата и латиницата и да маха само символите
Hous каза:както ти го дадоха остави само a-z а-я 0-9yuspasov каза:Ама идеята е да оставя кирилицата и латиницата и да маха само символите
за позволени символи...
<?php
header("Content-Type: text/html; charset=UTF-8");
$string = "асд Сад сЙФдк asd 123 !@#$%^&*()_+-=/.,<>?;':\"'[]{}\|";
preg_match("#[a-z\p{Cyrillic}\s]+#iu", $string, $matches);
print_r($matches);
?>