-5

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

所以我需要帮助在 javascript 中转换这 3 行代码:

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

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

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

于 2012-05-02T19:44:39.933 回答
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 回答
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)

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

于 2012-05-02T20:24:40.707 回答