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

У меня есть строки вроде:

t_est1_1
test213_4
tes_tsdfsdf_9

Общей частью каждой строки является символ LAST _.

Мне нужно получить строку перед этим символом.

t_est1_12 --> test1   
test213_4 --> test213
tes_tsdfsdf_9343 --> testsdfsdf

Как мне добиться этого в PHP?

Ответы [ 4 ]

4 голосов
/ 20 февраля 2012

Использование основных строковых функций strpos и substr.

0 голосов
/ 20 февраля 2012

То, что вам нужно, это простой разнесение, array_slice и Implode, также используя разнесение и завершение, вы можете получить «id», который также является общей частью:

$description = implode('', array_slice(explode('_', $data), 0, -1));
$id = end(explode('_', $data));

Сколько _ у вас будетвы по-прежнему сможете использовать их и получить последний элемент, содержащий ваш идентификатор, а первые элементы (от 0 до -1) будут содержать ваше описание ...

0 голосов
/ 20 февраля 2012

вы можете использовать функцию preg_match, доступную в php

вам нужно написать регулярное выражение для этого ...

например

чтобы получить этот тест1_12 - >> тест1

$string='test1_12';
preg_match('((.+?)\_(.*))',$string,$match);
echo $match[1];
0 голосов
/ 20 февраля 2012

http://fr.php.net/manual/fr/function.explode.php

$a = "abcdef_12345"
$b = array();
// $b[0] = "abcdef";
$b[0] = explode('_',$a,'1');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...