Это может звучать как глупый вопрос, но: что быстрее при его использовании для извлечения ключевых слов в поисковом запросе в 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
Общее правило: если вы можете делать что-то без регулярных выражений, делайте это без них!
если вы хотите разбить строку на пробелы, разнесение происходит намного быстрее.