Тут намного эффективнее описать задачу которая стоит. Если требуется отфильтровать строки которые похожи на "sdfsfd-" то лучше идти от обратного, т.е. написать подходящий шаблон /[a-zA-Z0-9]\-$/ и проверять отрицание. Т.е. PHP: !preg_match('/[a-zA-Z0-9]\-$/', $string)
извиняюсь...за то что не правильно описал свою задачу... на самом деле мне нужен было исключать любые символы оставлять только буквы и цифры, но иногда бывает что знак '-'может оказаться в конце строки вот поэтому если он в конце или начале строки его нужно исключить, а в остальных он должен присутствовать.
Честно говоря я охренительно ступил. Делается это так: PHP: <?php $haystack = "minus-terminated string-"; // Обрезаем минусы $haystack = trim($haystack, "-"); ?> Вот эту строку передавай регулярке.
а если ? preg_replace как исключить из такой строки символы -my%&8page100-hell$#o-wo&rld- и получить mypage100-hello-world
да..трим я тоже забыл.. честно говоря..мне нужно след. из названия страницы сделать ей ссылку к примеру Привет мир это Я --> privet-mir-eto-ya.html и, чтобы небыло в названии лишних символов и всяких минусов и точек и .т.п. я делаю это preg_replace но не могу дотямить как сделать это правильно...
Код (Text): preg_replace("#(?:^[^a-z0-9]|[^a-z0-9\-]+|[^a-z0-9]$)#is","",$text) ня, как сделать правильно, сам догадаешься =)
а как насчет ? "/[^a-z0-9\-]+/mi" работает так как мне нужно.. ну а - в конце и в начале вырежу 'trim'