Как проверить первые два символа в строке?

12
S
На сайте с 30.09.2009
Offline
116
1420

Ребят, подскажите, пожалуйста, вариант попроще, а то у меня так

$str = $file2;

$first = $str{0}; $first2 = $str{1};

И потом сравниваю $first и $first2 с тем, что надо. Но может есть вариант попроще? Спасибо. Не смог найти.

Перелинковку сделал. Теперь думаю куда потратить денежки - сапа, мира или блоги :)
D
На сайте с 14.01.2007
Offline
153
#1
S
На сайте с 30.09.2009
Offline
116
#2

не подходит. Она не может проверить первые два символа заданной строки и имеющейся

C
На сайте с 04.02.2005
Offline
277
#3

Покажите Ваш код

H
На сайте с 31.10.2008
Offline
33
#4

и что, это работает - $str{0} ?

доступ к произвольному символу в строке осуществляется так же, как и к элементу массива:

if ($str[0] == $str[1]) do_stuff();

SD
На сайте с 02.05.2010
Offline
21
#5

В чем проблема:

$a и $b - строки, где сравнивать первые два символа

if ( substr($a, 0, 2) == substr($b, 0, 2) ) ...

D
На сайте с 14.01.2007
Offline
153
#6
stroydomen:
не подходит. Она не может проверить первые два символа заданной строки и имеющейся

тогда покажите пример

S
На сайте с 30.09.2009
Offline
116
#7
Dinozavr:
тогда покажите пример

Вообщем я сделал так, если есть у кого то вариант короче код я рассмотрю

// проверяем - если начинается файл с 1a, 1b, 1c, или 1e то удаляем первые 3 символа, т.е. 1d-

$poz = strpos($file2, '1a'); $poz2 = strpos($file2, '1b'); $poz3 = strpos($file2, '1c');
if ($poz === 0 or $poz2 === 0 or $poz3 === 0) { $file2 = substr($file2, 3);}
LEOnidUKG
На сайте с 25.11.2006
Offline
1729
#8
stroydomen:
Вообщем я сделал так, если есть у кого то вариант короче код я рассмотрю
// проверяем - если начинается файл с 1a, 1b, 1c, или 1e то удаляем первые 3 символа, т.е. 1d-

$poz = strpos($file2, '1a'); $poz2 = strpos($file2, '1b'); $poz3 = strpos($file2, '1c');
if ($poz === 0 or $poz2 === 0 or $poz3 === 0) { $file2 = substr($file2, 3);}

Есть короче:

if (preg_match('@^(1b|1c|1a|1e)@smi',$file2)) {$file2 = substr($file2, 3);}

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
B
На сайте с 19.08.2007
Offline
30
#9
stroydomen:
Вообщем я сделал так, если есть у кого то вариант короче код я рассмотрю
// проверяем - если начинается файл с 1a, 1b, 1c, или 1e то удаляем первые 3 символа, т.е. 1d-

$poz = strpos($file2, '1a'); $poz2 = strpos($file2, '1b'); $poz3 = strpos($file2, '1c');
if ($poz === 0 or $poz2 === 0 or $poz3 === 0) { $file2 = substr($file2, 3);}


if(in_array(substr($file2, 0, 2), array('1a', '1b', '1c')))
{
$file2 = substr($file2, 3);
}

Примерно так.

Покупаю сайты для родителей, про детей и женской теме, действующие интернет-магазины.
Metal Messiah
На сайте с 01.08.2010
Offline
152
#10
LEOnidUKG:
Есть короче:
if (preg_match('@^(1b|1c|1a|1e)@smi',$file2)) {$file2 = substr($file2, 3);}

вчера рассматривал AutoBlog-X - он дико тормозил при добавлении. Разобрался.

Вместо простого if (stripos($text, 'encoding="utf-8"') !== false)

стояло if (preg_match('/.+encoding="utf-8".+/im', $text))

В результате время выполнения на тексте (файле) 600кб было в 15 раз дольше.

stroydomen:
Вообщем я сделал так, если есть у кого то вариант короче код я рассмотрю

сделал паравильно, зачем короче? олимпиада по пхп?

---

ответ на пост Dreammaker (ниже)

А зачем там .+, что одно что второе, по идее это лишние проверки.

а черт знает не я писал, вообще AutoBlog-X не рационально сделан, он грузит один и тот же rss источник несколько раз итд

anonymous, думай что говоришь и не забывай подписать отзыв :)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий