2013-05-08 8 views
2

я не имею строку, которая будет выглядеть следующим образом:PHP читать все до первой запятой

$string = "hello, my, name, is, az"; 

Теперь я просто хочу, чтобы эхо все, что там до первой запятой. Я использую следующие:

echo strstr($this->tags, ',', true); 

и Она работает замечательно, но проблема это работает только PHP 5.3.0 и выше. В настоящее время я на PHP 5.2.

Я знаю, что это может быть достигнуто посредством регулярного экспресс-прегмата, но я сосать RE.

Может кто-нибудь помочь мне в этом.

С уважением,

+0

Зачем использовать регулярное выражение? Разверните это в массив и просто выделите первый элемент массива. – andrewsi

+0

'substr ($ string, 0, strpos ($ string, ','))'. не используйте регулярные выражения (ядерная бомба), когда будет работать простая подстрока (водяной пистолет). –

+0

спасибо @MarcB Я искал что-то подобное. –

ответ

5
<?php 

$string = "hello, my, name, is, az"; 
echo substr($string, 0, strpos($string, ',')); 

Вы можете (и должны) добавить дополнительные проверки, чтобы избежать SUBSTR, если нет в строке нет ,.

+0

Это отлично работает, спасибо. –

1

Вы можете взрываются эту строку с помощью запятой и прочитать первый аргумент массива, как этот

$string = "hello, my, name, is, az"; 
$str = explode(",", $string, 2); 
echo $str[0]; 
+1

+1, вы первый, используя 3-й аргумент взорвать, кудесно! – Savageman

+0

Спасибо @Savageman :) –

0

Вы можете просто использование функция explode:

$string = "hello, my, name, is, az"; 
$output = explode(",", $string); 
echo $output[0]; 
-1

Слишком много взрывчатых веществ для небольшой работы.

$str = current(explode(',', $string)); 
Смежные вопросы