0

人々が私のサイトで自分のアカウントを編集するとき、彼らは混乱し、自分の Steam プロファイル リンクをhttp://steamcommunity.com/id/######すべて入力し#######なければならないと考えます。一部を除いて、彼らの入力からすべて#####

4

3 に答える 3

0

str_replace("http://steamcommunity.com/id/","",$input);一方向です。

より堅牢な方法は次のとおりです。

preg_replace("@^.*id/@","",$input);

于 2013-01-30T17:31:22.880 に答える
0

どうですか:

$lastPart = array_pop(explode('/', $_SERVER['REQUEST_URI']));

これにより、 の最後の要素が取得されますREQUEST_URI

于 2013-01-30T17:30:40.650 に答える
0
$input = "http://steamcommunity.com/id/herpderp";
$output = '';

if( preg_match(':/:', $input) ) {
    $output = explode('/', $input);
    if( !empty($output[count($output)-1]) {
        $output = $output[count($output)-1];
    } else {
        // in the case of a trailing slash, use the ~second~ last field
        // ie: http://steamcommunity.com/id/herpderp/
        $output = $output[count($output)-2];
    }
} else {
    $output = $input;
}

echo "SteamID: " . $output;

または単に:

if( preg_match('/[^a-zA-Z0-9]/', $input) ) {
    die('Disallowed characters in SteamID. Please enter only your SteamID, and not the full URL.');
}

ユーザーが考案したと思われる新しい革新的な問題に対処するためにコード行を継続的に追加する必要がなく、自分の無能さに対​​処するのはユーザーに任されているので、私は 2 番目の方法を好みます。彼らは常に、何かが「ばかではない」と宣言されたときはいつでも、宇宙はより良いばかを生み出すだけであることを証明しようと努めています.

于 2013-01-30T17:45:52.570 に答える