我在我的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']);
}
答案 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)