Необходимо из строк вида
"@ title aa"
"@title AA"
"@ title aа"
"@ title AА"
получить title
То есть строка начинается на @, далее возможен пробел, далее текст который нужно вырезать, далее пробел, и далее AA в неизвестном регистре символов
Спустя 6 минут, 5 секунд (25.10.2011 - 23:13) kovaldm написал(а):
Юзай регулярные выражения.
Спустя 35 секунд (25.10.2011 - 23:14) Winston написал(а):
preg_match('#^"@ ?(.*) aa"$#i', $str, $match);
print_r($match);
Спустя 29 секунд (25.10.2011 - 23:14) Игорь_Vasinsky написал(а):
попробуй
u - если в юникоде
$str = "@ title aa";
preg_match("#@\s*(.*)\s*\w+$#iusU", $str, $out);
echo '<pre>' . print_r($out, 1) , '</pre>';
u - если в юникоде
Спустя 9 минут, 40 секунд (25.10.2011 - 23:24) Winston написал(а):
Ну или так, если у тебя в строке много тайтлов
$str = '"@ title aa"
"@title1 AA"
"@ title2 aа"
"@ title3 AА"';
preg_match_all('#^"@ *(\S+) *[aа]*"$#imu', $str, $match);
print_r($match);
Спустя 2 минуты, 8 секунд (25.10.2011 - 23:26) Игорь_Vasinsky написал(а):
пробелы "явно" указывать не обязательно?
Спустя 4 минуты, 58 секунд (25.10.2011 - 23:31) Winston написал(а):
Ну это смотря какие у тебя нужды, если нужно, чтобы присутствовали только пробелы, то нужно явно указывать, если нет можно и метасимвол влепить \s.
\s - соответствует любой символ из набора [ \f\n\r\t]
\s - соответствует любой символ из набора [ \f\n\r\t]
Спустя 10 часов, 29 минут, 34 секунды (26.10.2011 - 10:01) pyfik написал(а):
Ого ) Спасибо за помощь, буду пробывать
Спустя 25 минут, 8 секунд (26.10.2011 - 10:26) pyfik написал(а):
нашёл решение без регулярок
$str = stristr('@title1 AA',' aa',true);
$str = trim($str, ' @');
echo $str;