я нашел это:PHP: вопрос о preg_replace()
$text = preg_replace('/\W+/', '-', $text);
Любой человек может сказать мне, что именно это сделать? Там нет информации о том, какой '/ \ W + /' означает ..
С уважением
Javi
я нашел это:PHP: вопрос о preg_replace()
$text = preg_replace('/\W+/', '-', $text);
Любой человек может сказать мне, что именно это сделать? Там нет информации о том, какой '/ \ W + /' означает ..
С уважением
Javi
\W
означает не буквенно-цифровой символ, поэтому ничего, кроме a-z, A-Z, 0-9 или подчеркивание.
Это стандартный для регулярных выражений, ничего особенного для Php.
Вот отличный инструмент для тестирования регулярных выражений:
http://www.gskinner.com/RegExr/
Если поставить \W+
в поле в верхней части вы увидите, какие вещи он соответствует.
PS: Вот еще один инструмента, который проще и чище, хотя, возможно, не как особенность богатых:
Она включает в себя удобные быстрые ссылки для регулярных выражений в нижней части.
Похоже, он заменяет все, что не является 'символом слова' (буква, цифра, подчеркивание) и делает их дефисами.
Да. Это своего рода URL-адрес. Таким образом, вы можете легко использовать значение в URL-адресе. Например, если бы я хотел показать имена потоков в URL (SEO), я бы использовал это регулярное выражение для преобразования 'Почему это не работает?!?' На 'Why-doesn-t-this-work-'. Здесь это видно, это не идеально. По крайней мере, нужно выполнить надпись 'trim ($ url, '-')' на ней. – NikiC
Семейство функций preg
использует Perl Compatible Regular Expressions или PCRE. Есть nice cheat sheet for them here (PDF).
\W
означает «любой символ без слова», а +
ограничивает его совпадением одного или нескольких предыдущих символов. «Символы слов» обозначаются буквами, цифрами и символами подчеркивания, поэтому \W
будет соответствовать символам, которые не являются одним из них.
Ваша строка кода заменяет любое вхождение набора символов, которые не являются символами слова с дефисом.
Это задокументировано в http://es2.php.net/manual/en/regexp.reference.backslash.php (связано с разделом PCRE руководства PHP, где объясняется preg_replace).
http://www.regular-expressions.info/reference.html – Sarfraz
Где вы искали информацию? Ссылка, предоставленная sAc, имеет множество возможностей, а также [руководство по PCRE] (http://pcre.org/pcre.txt), а также [руководство по PHP] (http://php.net/reference.pcre.pattern .syntax), а также множество других сайтов, вдохновляющих эти и другие источники. – salathe
Я бы также рекомендовал взять на себя инициативу и попробовать это для себя –