将此PHP代码转换为javascript - strpos,str_replace,substr

时间:2012-05-02 19:38:56

标签: php javascript

我在我的javascript标签中有一段用PHP编写的代码。我认为在我的脚本标签中包含所有javascript会更好。

所以我需要帮助来在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']);
 }

3 个答案:

答案 0 :(得分:3)

查看php.js,它具有针对JavaScript的PHP函数的特定直接端口。

编辑:正如评论者正确指出的那样,php.js并非没有它的缺陷(膨胀,错误)所以到目前为止最好的解决方案是从那里获取你需要的东西,或者使用JS已经提供的东西并定制它。

答案 1 :(得分: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);

答案 2 :(得分: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()方法都会在“from”和“to”之间提取字符串中的字符,而不包括“to”本身。 string.substring(from, to)

字符串对象的replace()方法搜索子字符串(或正则表达式)与字符串之间的匹配,并用新的子字符串替换匹配的子字符串。 string.replace(regexp/substr,newstring)