Я хочу отображать только последнее строковое значение из строки. Это моя строка ShopTop205/12.50R15

Я хочу просто отобразить этот тип строки

205/12.50R15

Я пробовал как

<?php 
$catName= 'ShopTop205/12.50R15';
echo substr($catName, strrpos($catName, ' ') + 1);
?>

Второй способ

<?php
$string = 'ShopTop205/12.50R15';
$string = explode('', $string);
$last_string = end($string);
echo $last_string;
?>

Я также использовал функцию substr(), но не смог получить желаемый результат.

Как я мог это сделать?

1
David 1 Сен 2017 в 15:00

4 ответа

Лучший ответ

Вы можете удалить начальные нечисловые символы с помощью регулярного выражения:

$catName= 'ShopTop205/12.50R15';
$res = preg_replace('~^\D+~', '', $catName);
echo $res; // => 205/12.50R15

См. демонстрацию PHP

Шаблон здесь ^\D+ и соответствует любому одному или нескольким (+) символам, кроме цифр (\D) в начале строки (^).

См. демонстрационную версию regex.

4
Wiktor Stribiżew 1 Сен 2017 в 12:05

Проверьте это

$catName= 'ShopTop205/12.50R15';
preg_match('/^\D*(?=\d)/', $catName, $m);
$pos = isset($m[0]) ? strlen($m[0]) : false;
$text = substr($catName,$pos); // this will contain 205/12.50R15 
0
suman biswas 1 Сен 2017 в 12:09
$catName= 'ShopTop205/12.50R15';
$result = substr($catName, 7,20);
print $result;//205/12.50R15;
0
Sergiu Costas 1 Сен 2017 в 12:08

Делаем это с substr (), учитывая, что длина всегда одинакова:

https://ideone.com/A4Avpt

<?php
echo substr('ShopTop205/12.50R15', -12);
?>

Выход: 205/12.50R15

0
floGalen 1 Сен 2017 в 12:18