IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Как на Php получить первый... (http://www.imho.ws/showthread.php?t=51515)

Psionic Vision 17.02.2004 19:35

Как на Php получить первый...
 
1. Как на PHP получить первый символ строки?
2. Как получить последние три символа с конца? В смысле:
$a = blabQQQ.html
как получить "QQQ"?
Спасибо.

RaZEr 17.02.2004 19:38

substr($str,0,1);
substr($str,-3,3);

Psionic Vision 17.02.2004 19:50

RaZEr
Сенькс!

Psionic Vision 19.02.2004 20:01

Раз у меня есть еще вопросы, задам их здесь же...


Чем различаются \n и \r ?

RaZEr 19.02.2004 20:06

http://www.imho.ws/showthread.php?s=&threadid=39617

PS: Для отдельных вопросов отдельные темы. Чтобы потом другим не составляло труда найти ответ.

Psionic Vision 10.03.2004 03:41

Вот строка:
neo_sup_s01
Как вырезать оттуда _s01 чтобы осталось neo_sup?
В конце таких строк всегда три символа, так как вырезать три символа с конца с помощью substr?
Если нельзя, то как - с помощью regular expressions?

Saruman 10.03.2004 03:55

Neo
_s01 - это вообще четыре символа 8)
PHP код:

substr($sMyString0, -4

RTFM - это даже в мануале разжевано с примерами

Psionic Vision 10.03.2004 17:30

Saruman
Не знаю ни про какие RTFM но я это решил так:

$cutout = substr($somevar, -4, 4);
$newvar = str_replace($cutout, "", $somevar);

RaZEr 10.03.2004 17:37

Мдя ...

is_absent 10.03.2004 17:45

Neo
RTFM - Read This Fucking(??) Manual... если мне не изменяет память :)
в общем тебе посоветовали почитать официальную документацию по языку

Psionic Vision 10.03.2004 18:47

RaZEr
Мдя в каком смысле?

@_is_absent
Изучением документации я сейчас как раз и занимаюсь. Но когда мне нужна какая-то функция и я не могу ее найти - тогда и спрашиваю...

Добавлено через 2 минуты:
Цитата:

Saruman:
substr($sMyString, 0, -4)
Это же, по идее, начинает с нулевого символа и идет обратно на 4.
Но ведь перед нулевым символом ничего нет, так как же это работает?

P.S. какой мануал посоветуете? я сейчас читаю учебник php скачанный с php.net..

Добавлено через 3 минуты:
Щас перечитал соответвующий топик... виноват, недоглядел про негатвный length

RaZEr 10.03.2004 18:48

Цитата:

Но ведь перед нулевым символом ничего нет, так как же это работает?
Тебе же сказали - RTFM.

is_absent 10.03.2004 19:07

Neo
substr($sMyString, 0, -4)
это "обратная" нумерация. Будет отсчитываться от последнего символа...

Psionic Vision 15.03.2004 23:28

Понятно.
Новый вопрос - с substr не выйдет, тут наверно нужен preg_replace?
Есть переменная:

$p = lalalallalala_bebebebebeebebebbebebe

Мне нужно получить все, что до первого символа подчеркивания, однако количество символов может быть любое (заранее неизвестно). как это решить?

is_absent 16.03.2004 06:42

Neo
есть два пути. preg_match и strpos
со вторым все просто:
$p = strpos($string, "_");
$result = substr($string, 0, $p);

регулярное выражение для preg_match будет таким: /([^_]*)/
preg_match("/([^_]*)/", $string, $matches);
$result = $matches[1];

на моих тестах второй вариант работал быстрее... разница была в шестом знаке (то есть в микросекундах) :)

is_absent 16.03.2004 10:35

тут еще один вариант вспомнил :)
list($result) = explode("_", $string);

Psionic Vision 16.03.2004 16:15

Спасибо
Ну а что если в строке не один а два _? Это я про первый вариант.

is_absent 16.03.2004 16:44

Neo
про регулярные выражения? должен работать. если будут проблемы добавь модификатор U в конец регулярного выражения. Получится "/([^_]*)/U". все остальные работают :)


Часовой пояс GMT +4, время: 15:04.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.