regex
блин, я тут подумал может у preg_match проблемы с уникодом? как назло инет закончился
а что называть "словом"?
человеческое слово на русском языке
Я бы сделал вот так:
А под твою маску, по-моему, подойдет любая одиночная буква. И еще: там какая-то буква, то ли "ё", то ли "й" не входит в диапазон а-я. Надо добавить.
/ [^а-я\-]+([а-я\-]+)[^а-я\-]+/ i
А под твою маску, по-моему, подойдет любая одиночная буква. И еще: там какая-то буква, то ли "ё", то ли "й" не входит в диапазон а-я. Надо добавить.
Текст может начинаться или заканчиваться на слово, поэтому [^а-я\-]+ нельзя писать ни справа ни слева. Эти конструкции вообще не нужны, регулярные выражения по умолчанию жадные. И кстати лучше не лениться и написать
/[йцукенгшщзхъэждлорпавыфячсмитьбюёЙЦУКЕНГШЩЗХЪЭЖДЛОРПАВЫФЯЧСМИТЬБЮЁ\-]+/g
а что значит флажок g?
я тоже типа такого сделал, но походу preg_match корявао с уникодом работает
я тоже типа такого сделал, но походу preg_match корявао с уникодом работает
а что значит флажок g?g=Global - поиск всех совпадений, а не только первого
в пхп такого значка нету
а, в пхп для этого отдельная функция
я в курсе:) Но в перле именно так пишется
блин, кстати, так сработало )
Оставить комментарий
Vodnik
подскажите как правильно выделить из текста все слова в phpпытаюсь делать:
preg_match_all("/[\s,.\[\]]+?([а-я\-]+)[\s,.\]\[]+?/i", $data["text"], $pat_array);ни фигна не выходит...