Ответ 1
Совет. Если вам не нужна сила регулярных выражений, вы можете выбрать более быстрые (хотя и более простые) альтернативы, такие как explode() или str_split().
Это может показаться глупым вопросом, но: что быстрее при использовании его для извлечения ключевых слов в поисковом запросе в php:
$keyword = preg_split('/[\s]+/', $_GET['search']);
или
$keyword = explode(' ', $_GET['search']);
Совет. Если вам не нужна сила регулярных выражений, вы можете выбрать более быстрые (хотя и более простые) альтернативы, такие как explode() или str_split().
В простом использовании explode()
, чем быстрее, см. micro-optimization.com/explode-vs-preg_split (ссылка из Интернета .archive.org)
Но preg_split
имеет преимущество поддержки вкладок (\t
) и пробелов с \s
.
метасимвол \s
используется для поиска символа пробела.
Символьный пробел может быть (http://php.net/manual/en/regexp.reference.escape.php):
0x20
)0x09
)0x0D
)0x0A
)0x0C
)В этом случае вы должны увидеть стоимость и выгоду.
Совет, используйте array_filter
для "удаления" пустых элементов в массиве:
Пример:
$keyword = explore(' ', $_GET['search']); //or preg_split
print_r($keyword);
$keyword = array_filter($arr, 'empty');
print_r($keyword);
Примечание: RegExp Perfomance
Общее правило: если вы можете что-то сделать без регулярных выражений, сделайте это без них!
если вы хотите разделить строку пробелами, взорваться быстрее.