-5

JavaScriptタグ内にPHPで書かれたコードがあります。script タグ内にすべての JavaScript を含める方がよいと考えました。

したがって、これらの 3 行のコードを JavaScript に変換するには、助けが必要です。

if (strpos($video['thumbs']['master'], '/thumbs_old/') !== false) {
    $position = strpos($video['thumbs']['master'], '.flv');
    $oldFlipBookThumb = str_replace(substr($video['thumbs']['master'], $position), '.flv', $video['thumbs']['master']);
 }
4

3 に答える 3

3

JavaScript 用の PHP 関数の特定の直接ポートがあるphp.jsを見てください。

EDIT:コメンターが正しく指摘したように、php.jsには欠陥(肥大化、バグ)がないわけではないため、そこから必要なものを取得するか、JSがすでに提供しているものを使用して調整するのが最善の解決策です.

于 2012-05-02T19:44:39.933 に答える
0

文字列オブジェクトのメソッドを使用しsearch()ます - 一致した位置を返すか、一致が見つからない場合は -1 を返します

var position = -1, oldFlipBookThumb;
var str = '<?php echo $video['thumbs']['master'];?>';
if(str.search("/thumbs_old/" != -1){
    position = str.search(".flv");
}
if(position != -1){
    oldFlipBookThumb = str.replace(str.substring(position, Number(position) + 4), '.flv');
}

間違っているかもしれませんが、文字列「.flv」を文字列「.flv」に置き換えているように見えます。

いずれの場合もsubstring()、string オブジェクトのメソッドは、"to" 自体を含まず、"from" と "to" の間の文字列内の文字を抽出します。string.substring(from, to)

文字列オブジェクトのreplace()メソッドは、部分文字列 (または正規表現) と文字列の間の一致を検索し、一致した部分文字列を新しい部分文字列に置き換えます。string.replace(regexp/substr,newstring)

于 2012-05-02T20:24:40.707 に答える
0

私はjavascriptのためにこれを見つけました、私はそれをテストしませんでしたが、多分助けになるでしょう:

function strpos (haystack, needle, offset) {
  var i = (haystack).indexOf(needle, (offset || 0));
  return i === -1 ? false : i;
}

//call the function as:
var res='scripts,tutorials,tools';
strpos(res, ',');

//result will be: 2

置換の場合:

var text = "this is some sample text that i want to replace";
var new_text = text.replace("old", "dont want");
document.write(new_text);
于 2012-05-02T19:59:38.750 に答える