Получить только часть строки, используя PHP - PullRequest
0 голосов
/ 09 февраля 2012

Я использую следующий код

foreach ($twitter_xml2->channel->item as $key) {
    $author = $key->{"guid"};
    echo"<li><h5>$author</h5></li>";
}

и меня это достает http://twitter.com/USERNAME/statuses/167382363782206976

Мой вопрос: как мне получить только имя пользователя?

Имя пользователя может быть любым

Ответы [ 3 ]

1 голос
/ 09 февраля 2012
foreach ($twitter_xml2->channel->item as $key) {
    $author = $key->{"guid"};
    list(,,,$username) = explode('/', $author);
    echo"<li><h5>$username</h5></li>";
}
1 голос
/ 09 февраля 2012

Вы можете использовать это регулярное выражение (для preg_match): ~twitter\.com/([^/]+)/~:

$match = array();
preg_match( '~twitter\.com/([^/]+)/~', $url, $match);
echo $match[1]; // list(,$userName) = $match;

или более эффективно strpos и substr

$start = strpos( $url, '/', 10); // say 10th character is after http:// and before .com/
$end = strpos( $url, '/', $start+1); // This would be the end
// Check both idexes
$username = substr( $url, $start, $end-$start);
// you will maybe have to fix indexes +/-1
1 голос
/ 09 февраля 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...