1

行があるところにJavaScriptスクリプトがあります。例は次のとおりです。

http://www.youtube.com/watch?v=FOeLP1WdjFc&feature=related

"watch?=" の後、"&feature" の前にある部分文字列を抽出したい場合、そのパターンは次のとおりです。

1) "watch?=" の後

2) 「&feature」の前、

3) 11文字の文字列です

他のスクリプトは簡単かもしれませんが、今は javascript だけが必要です。それが本当に不可能な場合は、php が受け入れられます。これを達成するにはどうすればよいですか? ありがとう!

4

4 に答える 4

2

これを試してください(実例):

var s = "http://www.youtube.com/watch?v=FOeLP1WdjFc&feature=related";

var left = "watch?v=";
var right = "&feature";

var parsed = s.substring(s.indexOf(left) + left.length, s.indexOf(right));

console.log(parsed);​

これは非常に大まかな簡単な答えなので、よりスケーラブルな方法として正規表現を調べることをお勧めします。

于 2012-11-07T14:06:42.773 に答える
2

正規表現を使用して要件を策定できます。

var res = url.match(/watch?=(.{11})&feature/);
if (res != null)
    return res[1];

これが機能するわけではありませんが(パラメーターのコンテンツを抽出しvます)、説明したとおりに機能します。

于 2012-11-07T14:07:15.320 に答える
1

.indexOf()JavaScriptと.substring()メソッドを使用して、必要なことを実現できます。

var index = url.indexOf('?v=') + 3;
alert(url.substring(index, index + 11));

このデモを参照してください。

于 2012-11-07T14:07:28.140 に答える
1

PHP では、標準関数parse_url()を使用して URL をparse_str()解析し、クエリ文字列を解析して のような個々の GET パラメータを抽出できますv

于 2012-11-07T14:08:26.010 に答える