尝试查找两个日期之间的数字差异时,我得到的结果不正确:
var startDate = moment( $('[name="date-start"]').val(), "DD.MM.YYYY"), // $('[name="date-start"]').val() === "13.04.2016"
endDate = moment( $('[name="date-end"]' ).val(), "DD.MM.YYYY"); // $('[name="date-end"]').val() === "28.04.2016"
var diff = startDate.diff(endDate);
console.log( moment(diff).format('E') );
Run Code Online (Sandbox Code Playgroud)
介于13.04.2016和28.04.2016我之间不应该是3天或2天......
我试过多种组合:
startDate.diff(endDate)与endDate.diff(startDate)format('E') 我正在寻找一些东西结果:我得到这个差异的所有时间都是3天或2天.
我究竟做错了什么?提前致谢.
我感兴趣的是function delete_all_between($char1, $char2, $string)
,将为$ char1和$ char2搜索$ string,如果已找到,则从这两个字符之间的子字符串中清除$ string,包括 $ char1和$ char2本身.
例:
$string = 'Some valid and <script>some invalid</script> text!';
delete_all_between('<script>', '</script>', $string);
Run Code Online (Sandbox Code Playgroud)
现在,$ string应该只包含
'Some valid and text'; //note two spaces between 'and text'
Run Code Online (Sandbox Code Playgroud)
有人有快速解决方案吗?
get_defined_vars即将(引用):
返回一个多维数组,其中包含所有已定义变量的列表,可以是环境,服务器或用户定义的变量
好吧,对于我的调试任务,我只需要那些用户定义的.是否内置php或补充功能?
编辑:好的,我没有说清楚我到底是什么,这里是一个小例子:
<?php
/*
this script is included, and I don't have info
about how many scripts are 'above' and 'bellow' this*/
//I'm at line 133
$user_defined_vars = get_user_defined_vars();
//$user_defined_vars should now be array of names of user-defined variables
//what is the definition of get_user_defined_vars()?
?>
Run Code Online (Sandbox Code Playgroud) 我有文件,我想从中提取具有未触及内容的特定div.我做:
$dom = new DOMDocument();
$dom->loadHTML($string);//that's HTML of my document, string
Run Code Online (Sandbox Code Playgroud)
和xpath查询:
$xpath = new DOMXPath($dom);
$xpath_resultset = $xpath->query("//div[@class='text']");
/*I'm after div class="text"*/
Run Code Online (Sandbox Code Playgroud)
现在我按照我的item(0)方法做了一些方法$xpath_resultset
$my_content = $xpath_resultset->item(0);
Run Code Online (Sandbox Code Playgroud)
我得到的是对象(不是字符串)$ my_content我可以回显或settype()到字符串,但结果我得到的是完全剥离的标记?
该怎么做才能从div class ='text' 获取所有内容?
从PHP 5.0开始,默认启用SQLite扩展.从PHP 5.4开始,SQLite扩展仅可通过PECL获得.
好吧,我在PHP编程方面相对较新,我想知道官方PHP网站引用的信息是什么意思?
我编写了一些运行SQlite而不是MySQL数据库的应用程序,如果它将从未来版本的PHP中弃用,我会非常担心.
它是什么意思"从现在开始,只通过PECL"?我知道SQlite 可用,但这并不意味着:
PHP团队将至少关注PHP/SQlite集成的未来发展
我们可以期待网络托管服务提供商将错过安装SQlite扩展,因为它不再是默认的?
当PHP"扔掉"PECL的扩展时,有人有经验吗?提前致谢.
我希望能够从网页上了解浏览器的硬件资源,或者至少是一个粗略的估计.
甚至当你发现现代技术的存在(例如csstransforms3d,csstransitions,requestAnimationFrame)在浏览器中通过类似的工具Modernizr,你不能确定是否启动一些性能消耗选项(如花式3D动画)或避免它.
我问,因为我有很多经验,浏览器是现代的(最新的Chrome或Firefox支持所有很酷的技术)但操作系统的CPU,GPU和可用内存只是灾难性的(带有集成GPU的32位Windows XP)因此,纯粹基于检测到的浏览器上限的决定是不好的.
我在恢复具有传递给Bootstrap .fn.tooltip()方法的元素的DOM结构时遇到了麻烦.
具体来说:$('footer p')传递给文档就绪事件的工具提示,如下所示:
$(function(){
$('footer p').tooltip();
$('footer p').on('click', function(){
console.log('Just to test events')
});
})
Run Code Online (Sandbox Code Playgroud)
我检查出来,工具提示工作,出现点击控制台消息.现在我通过调用函数来备份我将要删除的内容并从控制台中删除它:
function experiment_destroy() {
window.backup = $('footer').clone(true, true);
$('footer p').remove();
}
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,页脚p消失了.
现在我恢复在window.backup变量中克隆和缓存的内容:
function experiment_restore(){
$('footer').empty();
$('footer').replaceWith(window.backup);
}
Run Code Online (Sandbox Code Playgroud)
也从控制台调用,这是发生的事情:
footer p 元素应该回来了footer p单击时会生成控制台消息"Just to test events"消息,因此此事件将与元素一起恢复即使我在函数中重新调用tooltip方法,experiment_restore我什么也得不到.有没有人有一些想法?
更新:
我又做了一个变种.尝试使用不同的 - 完全最小的DOM环境,只有pfor tooltip和parent容器元素.结果是一样的.当然,我的复杂DOM结构中不仅存在一些混乱的东西.
这是非常简单的小提琴.
我正在写一个应用程序:
JavascriptJQuery在代码中包含库.(我不知道我的代码是否会包含在已经有jquery lib的网页中,我不知道是否会有正确的版本,我不知道是否会有JQuery冲突等等......)
我必须继续本机JS功能XMLHttpRequest(ActiveX for older IE's)方法,这很简单,但我看到的警告:
"如果没有jQuery,AJAX编码可能会有点棘手!
编写常规AJAX代码可能有点棘手,因为不同的浏览器具有不同的AJAX实现语法.这意味着您必须编写额外的代码来测试不同的浏览器.但是,jQuery团队已经为我们解决了这个问题,因此我们只需要一行代码即可编写AJAX功能."
什么是"棘手"的?我怎么可能做错了?我所知道的
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
Run Code Online (Sandbox Code Playgroud)
针对不同的浏览器只额外的代码和我的XMLHTTP var目录应该从现在开始准备做的工作中IE5,IE6,IE7+,Firefox,Chrome,Opera,Safari.
是否应该进行跨浏览器代码调整,或者在使用本机XMLHttpRequest对象时还应该注意什么?
好吧,我遇到了一个令人讨厌的情况,在我的自定义编写的脚本加载器中一切正常,除了正在加载的脚本被执行两次之外。
这是完整的代码:
window._appCommons=window._appCommons||{};
$.loadScr = function(path, name, exportParam){
var df = $.Deferred();
if (! $( ['script[data-mname="', name, '"]'].join('') ).length ) {
window._appCommons[name] = {};
this.get(path).done(function(data){
for (var prop in exportParam) {
window._appCommons[name][prop] = exportParam[prop];
}
var scr = ['<script data-mname="' , name , '">' , data, '<\/script>'].join('');
$(document.getElementsByTagName('head')[0]).append( scr );
setTimeout(function(){ df.resolve(); },16);
});
}
return df;
}
$.loadScr('one.js', 'onejs', {'someKey':'someValue'}).done(function(){});
Run Code Online (Sandbox Code Playgroud)
加载的脚本one.js仅包含console.log('something...')语句,我得到了两次。
.append( scr );仅发生一次而且,同样的one.js …
有办法:
我知道有另一种方法可以将文件的所有内容都放在一个字符串中,但是正如你所知,如果文件的大小很大,那么方法就是时间和内存效率低下.
javascript ×5
php ×5
jquery ×2
animation ×1
css ×1
domdocument ×1
filesystems ×1
flat-file ×1
html ×1
html5 ×1
jqxhr ×1
momentjs ×1
pecl ×1
performance ×1
sqlite ×1
string ×1