Есть переменная с $=https://site.com/fars?reg=BU7JIo-21сорок один пять Как из этой строки взять только английские слова вместе со символами и цифрами? Есть идея создать массив с русским алфавитом и проверять каждую букву. То есть создать цикл который будет каждую букву из переменной проверять в цикле ( 1 буква = 32 цикла или сколько там в русском алфавите букв ) если нашел совпадение то удалить, и так всю строку пройти. В итоге останутся только английские символы, и выйдет чистая ссылка без всяких не нужных элементов Может у кого то есть идеи по лучше? Через регулярки я так уже за, не чего не выходит. Так вот без регулярок можно как то по короче ?
не совсем понятно, почему надо без регулярок? или хочется написать скрипт, который будет делать то, что делает регулярка? Регуляркой русские символы заменить на "" ничего, все будет ок.
Ну во первых проверять всю ссылку посимвольно это просто жесть Ссылку можно распарсить Далее, нужно понять конкретно, в чем задача, если тебе нужно обрубить только концовку, это одно, если нужно вытащить польный URL это второе и т.д. Так же не стоит забывать Что в доменном имени и могут присутствовать Кириллические символы. Через регулярки я так уже за, не чего не выходит. Под "за", подразумевается заЕ ? Ну, а чисто логически, в регулярке, нам нужно чтоб подстрока начиналась с http:// или https:// , а заканчивалась символом отличным от кириллического. Вот прекрасный сайт, очень помогает https://regexr.ru
@drakonik999, предлагаю такой шаблон: /http[^а-яё]+/iu Спойлер PHP: $matches = []; $str = "$=https://site.com/fars?reg=BU7JIo-21&daf=rwqсорок один пять"; preg_match('/http[^а-яё]+/iu', $str, $matches); var_dump($matches);