Мені потрібно зіставити символ пробілу в регулярному виразі PHP. У когось є якісь ідеї?
Я маю на увазі, як "Гевін Шульц", пробіл між двома словами. Я використовую регулярний вираз, щоб переконатися, що я дозволяю лише літери, цифри та пробіл. Але я не знаю, як знайти пробіл. Ось що я маю на даний момент:
$newtag = preg_replace("/[^a-zA-Z0-9s|]/", "", $tag);
У мові Perl перемикачем є \s
(пробіл).
Мені здається, що використання REGEX в даному випадку було б просто перебором. Чому б просто не скористатися strpos для пошуку символу пробілу. Крім того, нічого особливого в символі пробілу в регулярних виразах немає, ви повинні мати можливість шукати його так само, як і будь-який інший символ. Тобто, якщо тільки ви не відключили шаблонний пробіл, що навряд чи було б потрібно в даному випадку.
Ви також можете використовувати \b для межі слова. Для назви я б використовував щось на зразок цього:
[^\b]+\b[^\b]+(\b|$)
ЗМІНИТИ Зміна цього на реґекс у прикладі Perl
if( $fullname =~ /([^\b]+)\b[^\b]+([^\b]+)(\b|$)/ ) {
$first_name = $1;
$last_name = $2;
}
Знову редагування Залежно від того, що ви хочете:
$new_tag = preg_replace("/[\s\t]/","",$tag);