Как получить подстроку в php - PullRequest
0 голосов
/ 08 февраля 2011

У меня есть строка http://mycloud.net/4d4bf89da2e38.jpg

хочу 4d4bf89da2e38.jpg

Как я могу получить это с помощью функции PHP или регулярного выражения.

Пожалуйста, предложите.

Спасибо

Ответы [ 6 ]

8 голосов
/ 08 февраля 2011

Использование basename(), вероятно, было бы лучше в этом случае.Но чтобы ответить на заголовок вашего вопроса, вы должны использовать substr() для получения подстроки из фрагмента текста.

basename('http://mycloud.net/4d4bf89da2e38.jpg'); // returns 4d4bf89da2e38.jpg
4 голосов
/ 08 февраля 2011
$name = pathinfo('http://mycloud.net/4d4bf89da2e38.jpg', PATHINFO_BASENAME);
1 голос
/ 08 февраля 2011

Использовать функцию basename (): http://php.net/manual/en/function.basename.php. Вероятно, это быстрее, чем регулярное выражение и будет кроссплатформенным

1 голос
/ 08 февраля 2011
[^/]*$

даст вам все после последней косой черты.

В PHP:

if (preg_match('%[^/]*$%', $subject, $regs)) {
    $result = $regs[0];
} else {
    $result = "";
}

Но разве нет библиотеки для работы с путями к файлам?

0 голосов
/ 25 марта 2011

Или вы помещаете sjmg ответ в одну строку;)

$name = array_pop(explode('/','http://mycloud.net/4d4bf89da2e38.jpg'));
0 голосов
/ 08 февраля 2011

Вам не нужны эти функции, вам нужно только разбить строку.

$ cadena = 'http://mycloud.net/4d4bf89da2e38.jpg';

$ vec = explode ("/", $ cadena);

$ name = array_pop ($ vec);

, и у вас есть значение в переменной $ name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...