Sasha_Odesskiy
@Sasha_Odesskiy
бла-бла-бла!

Как в PHP разобрать такую строку?

Всем привет.
У меня есть строка (примерно: ''@User, Привет");
Как мне разбить эту строку, что бы у меня были такие данные "@", "User" и "Привет".
Строку я разбивал, но ни как не могу получить символ "@", пытался получить первый символ с строки, но НЕ получал символ @, а получал первую букву "U'.
Что делать?
Всех благодарю)
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Как вариант:
<?php
$str = "@User, Привет";

preg_match('/(@)([^,]+),(.+)/i', $str, $matches);

var_export($matches);


Share PHP code
Резултат:
array (
  0 => '@User, Привет',
  1 => '@',
  2 => 'User',
  3 => ' Привет',
)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
ettaluni
@ettaluni
ERROR MEME
Регульками можно:
Регулька 1 - ^@
Регулька 2 - @\w+
Регулька 3 - ,.+
Ответ написан
На всякий случай замечу, что если вы для работы со Unicode-строками (т.е. обычно кириллица в utf-8) пользуетесь функциями str_* и иже с ними, то результат будет некорректный. Надо использовать специальные функци для мультибайтовых строк mb_*
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы