Необходимо вырезать кусок текста из переменной.
Примерно так:
<?php
$text = '@BarackObama - президент США';
$text2 = '';
?>
Как сделать так, чтобы $text2 была равна только @BarackObama из $text??
Спасибо.
Спустя 40 минут, 31 секунда (17.10.2010 - 20:24) Guest написал(а):
$textExplode=explode('-', $text);
$text2=$textExplode[0];
Спустя 1 минута, 42 секунды (17.10.2010 - 20:26) kirik написал(а):
webmonkey
по какому правилу определяется то, что нужно вырезать из текста?
по какому правилу определяется то, что нужно вырезать из текста?
Спустя 5 минут (17.10.2010 - 20:31) webmonkey написал(а):
kirik
В начале слова должно быть @, вырезать нужно это слово(@word)
В начале слова должно быть @, вырезать нужно это слово(@word)
Спустя 44 минуты, 48 секунд (17.10.2010 - 21:16) arvitaly написал(а):
Что может входить в слово?
Спустя 23 минуты, 13 секунд (17.10.2010 - 21:39) webmonkey написал(а):
arvitaly
A-z0-9a-z_
A-z0-9a-z_
Спустя 7 минут, 12 секунд (17.10.2010 - 21:46) arvitaly написал(а):
echo $m[preg_match('~(@[0-9a-z_]+)~si','@BarackObama - президент США',$m)];
Обама прикольный
Спустя 3 минуты, 29 секунд (17.10.2010 - 21:50) webmonkey написал(а):
Спасибо большое
![rolleyes.gif](http://phpforum.ru/html/emoticons/rolleyes.gif)
Спустя 7 минут, 13 секунд (17.10.2010 - 21:57) kirik написал(а):
arvitaly
А если email?
А если email?
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 1 минута, 25 секунд (17.10.2010 - 21:58) arvitaly написал(а):
Цитата |
А если email? |
Ну ТС пускай уж сам разбирается, можно так
echo $m[preg_match('~(?:^|\s)(@[0-9a-z_]+)~si','@BarackObama - президент США',$m)];
Спустя 2 минуты, 49 секунд (17.10.2010 - 22:01) webmonkey написал(а):
Спасибо, я знаю как юзать preg_match. Просто сначала я сделал скрипт, но он не работал, потом починил.
Спустя 2 часа, 7 минут, 11 секунд (18.10.2010 - 00:08) Renden написал(а):
Дабы не создавать тему, спрошу тут, a как сделать проверку на то что допутим первые 3 символа это A-z ну типа if первые 3 символа = A-z - истина, else - лож?
Да и еще посложнее
Да и еще посложнее
$str = "Русский текст в строке a tut angliyskiy text";
Если первые 3 символа русские,
оставляем все что по русски в строке, остальное отбрасываем как ненужное
т.е вывод:
echo $str; //Русский текст в строке
Спустя 6 минут, 58 секунд (18.10.2010 - 00:15) arvitaly написал(а):
ничо не понял
Спустя 1 минута, 59 секунд (18.10.2010 - 00:17) Renden написал(а):
arvitaly
Ну в строке 3 буквы первых англ {
Строку считать англ
}
else {
Строку считать руской
}
Спустя 7 часов, 16 минут, 21 секунда (18.10.2010 - 07:34) arvitaly написал(а):
а в русской строке какие могут быть символы?
Спустя 1 час, 11 минут, 16 секунд (18.10.2010 - 08:45) Renden написал(а):
arvitaly
Ну я думаю А-я...
Ну я думаю А-я...
Спустя 19 минут, 5 секунд (18.10.2010 - 09:04) arvitaly написал(а):
ну в примере еще как минимум пробелы, ну добавим еще запятую(если там дальше уж вы сами добавляйте просто)
preg_replace("~^([А-яа-яёЁ]{3}[А-яа-яёЁ\s,]*[^А-яа-яёЁ\s,]).*$~","$1",$str);