0

PHP Simple HTML DOMパーサーを使用して、必要な値を取得しています。私が今やろうとしているのは、URLの一部を取得することです。

ソースは次のようになります。

<a class="base-header-soldier-link" href="/bf3/soldier/someprofile/stats/123456789/">
  someprofile
</a>

残りのURLを使用せずに、値「123456789」を取得しようとしています。

このコードを使用してURLを取得しています:

foreach($html->find('.base-header-soldier-name a') as $e)
{
    $battlelog_id = $e->href;
}

だから基本的に私は残りのURLのためにそれを取り除きたいです。

URLはユーザー名によって変わる可能性があるため、「someprofile」が置き換えられます。

誰か助けてくれませんか?

4

1 に答える 1

3

あなたはいくつかの方法でそれを行うことができます最も簡単なのはbasename()です

<?php 
$url = '/bf3/soldier/someprofile/stats/123456789/';
echo basename($url);//123456789
?>

または、より堅牢な方法はpathinfo()です。

<?php 
$url = '/bf3/soldier/someprofile/stats/123456789/';
$url_parts = pathinfo($url);
/*
Array
(
    [dirname] => /bf3/soldier/someprofile/stats
    [basename] => 123456789
    [filename] => 123456789
)
*/

echo $url_parts['filename']; //123456789
?>

またはexplode()

<?php 
$url = '/bf3/soldier/someprofile/stats/123456789/';
$url_parts = explode('/', rtrim($url,'/'));

echo end($url_parts);//123456789
?>
于 2012-08-16T15:28:12.970 に答える