Удалить строку перед точкой в PHP


Есть ли способ удалить строку перед точкой в PHP? У меня есть следующее:

1. paqueteNombre.appNombre
2. paqueteNombre2.appNombre2

и я хотел бы иметь только имя приложения.

я до сих пор не могу найти документацию о том, как это сделать. Большое спасибо.

 2
php
Author: Julian Casas, 2017-04-10

3 answers

Имеет дело с:

substr($str, strrpos($str, '.')+1);

Strrpos что он делает, так это возвращает позицию последнего экземпляра, который вы ищете, в данном случае точку. Вы используете +1, чтобы получить все, что следует после последней точки.

Приветствия.

 4
Author: Esteban Quintana Cueto, 2017-04-10 19:33:52

Вы можете попробовать explode:

$str = "paqueteNombre.appNombre";
$result = explode('.',$str);
echo $result[1];
 1
Author: Rene Limon, 2017-04-10 19:55:51

Вы можете использовать функцию preg_split чтобы разделить вашу цепочку на столько частей, сколько точек в вашей цепочке. Поскольку вы получите массив, и имя вашего приложения будет последним, вы всегда можете поймать последнюю позицию-1 (Помните, что массивы всегда начинаются с позиции 0).

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

Пример:

<?php
    $string = "paqueteNombre.appNombre";
    $array = preg_split("/[.]/", $string);
    echo $array[count($array) - 1]; //appNombre


    $string2 = "cualquiercosa.otracosa.paqueteNombre.appNombre2";
    $array2 = preg_split("/[.]/", $string2);
    echo $array2[count($array2) - 1]; //appNombre2
 0
Author: Francisco Romero, 2017-04-10 19:44:41