Это может показаться глупым вопросом, но: что быстрее при использовании его для извлечения ключевых слов в поисковом запросе в php:
$keyword = preg_split('/[\s]+/', $_GET['search']);
или
$keyword = explode(' ', $_GET['search']);
Взрыв быстрее, на PHP.net
Совет. Если вам не нужна сила регулярных выражений, вы можете выбрать более быстрые (хотя и более простые) альтернативы, такие как explode () или str_split ().
В простом использовании explode()
чем быстрее, см.: Micro-optimization.com/explode-vs-preg_split (ссылка от web.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
Общее правило: если вы можете сделать что-то без регулярных выражений, сделайте это без них!
если вы хотите разделить строку пробелами, взорваться быстрее.