Как использовать preg_match для проверки пробелов?
Как использовать функцию php preg_match() для проверки строки, чтобы увидеть, существуют ли какие-либо пробелы?
Пример
"это предложение будет проверено как истинное для пробелов"
"thisOneWouldTestFalse"
Ответы
Ответ 1
Если вы заинтересованы в любом пробеле (включая вкладки и т.д.), используйте \s
if (preg_match("/\\s/", $myString)) {
// there are spaces
}
если вас просто интересуют пробелы, вам даже не нужно регулярное выражение:
if (strpos($myString, " ") !== false)
Ответ 2
Также см. fooobar.com/questions/196841/..., который обращается к этому.
И, в зависимости от того, хотите ли вы обнаружить вкладки и другие типы пробелов, вы можете посмотреть на синтаксис регулярных выражений perl для таких вещей, как \b\w и [: SPACE:]
Ответ 3
Вы можете использовать:
preg_match('/[\s]+/',.....)
Ответ 4
[\\S]
верхний регистр - "S", безусловно, будет работать.
Ответ 5
Как насчет использования ctype_graph для этой цели? Это расширит область пространства, чтобы обозначить любое "белое пространство char", которое не печатает ничего видимого на экране (например,\t,\n).
Однако это является родным и должно быть быстрее, чем preg_match.
$x = "string\twith\tspaces" ;
if(ctype_graph($x))
echo "\n string has no white spaces" ;
else
echo "\n string has spaces" ;
Ответ 6
быстрее использовать:
strstr($string, ' ');