小编Mil*_*vić的帖子

Moment.js - 两天的天数差异

尝试查找两个日期之间的数字差异时,我得到的结果不正确:

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.201628.04.2016我之间不应该是3天或2天......

我试过多种组合:

  • 交换startDate.diff(endDate)endDate.diff(startDate)
  • format('E') 我正在寻找一些东西

结果:我得到这个差异的所有时间都是3天或2天.

我究竟做错了什么?提前致谢.

javascript momentjs

37
推荐指数
3
解决办法
6万
查看次数

PHP函数删除字符串中某些字符之间的所有字符

我感兴趣的是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)

有人有快速解决方案吗?

php string

24
推荐指数
2
解决办法
4万
查看次数

有没有办法在PHP中获取用户声明的变量?

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)

php

13
推荐指数
2
解决办法
3915
查看次数

如何从DOMXPath :: query()方法获取完整的HTML?

我有文件,我想从中提取具有未触及内容的特定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 domdocument

13
推荐指数
1
解决办法
2万
查看次数

PHP放弃了SQlite?

从PHP 5.0开始,默认启用SQLite扩展.从PHP 5.4开始,SQLite扩展仅可通过PECL获得.

好吧,我在PHP编程方面相对较新,我想知道官方PHP网站引用的信息是什么意思?

我编写了一些运行SQlite而不是MySQL数据库的应用程序,如果它将从未来版本的PHP中弃用,我会非常担心.

它是什么意思"从现在开始,只通过PECL"?我知道SQlite 可用,但这并不意味着:

  1. PHP团队将至少关注PHP/SQlite集成的未来发展

  2. 我们可以期待网络托管服务提供商将错过安装SQlite扩展,因为它不再是默认的?

当PHP"扔掉"PECL的扩展时,有人有经验吗?提前致谢.

php sqlite pecl

10
推荐指数
1
解决办法
7216
查看次数

有没有办法了解"平台"访问网页的硬件资源?

我希望能够从网页上了解浏览器的硬件资源,或者至少是一个粗略的估计.

甚至当你发现现代技术的存在(例如csstransforms3d,csstransitions,requestAnimationFrame)在浏览器中通过类似的工具Modernizr,你不能确定是否启动一些性能消耗选项(如花式3D动画)或避免它.

我问,因为我有很多经验,浏览器是现代的(最新的Chrome或Firefox支持所有很酷的技术)但操作系统的CPU,GPU和可用内存只是灾难性的(带有集成GPU的32位Windows XP)因此,纯粹基于检测到的浏览器上限的决定是不好的.

javascript css performance html5 animation

10
推荐指数
1
解决办法
2044
查看次数

克隆并恢复"工具"元素

我在恢复具有传递给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结构中不仅存在一些混乱的东西.

这是非常简单的小提琴.

html javascript jquery twitter-bootstrap

9
推荐指数
2
解决办法
1302
查看次数

不使用原生XMLHttpRequest的原因 - 为什么$ .ajax是强制性的?

我正在写一个应用程序:

  1. 绝对依赖于通过发送数据到服务器 Javascript
  2. 不得JQuery在代码中包含库.

(我不知道我的代码是否会包含在已经有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对象时还应该注意什么?

javascript jquery xmlhttprequest jqxhr

6
推荐指数
1
解决办法
2811
查看次数

动态加载的javascript执行两次

好吧,我遇到了一个令人讨厌的情况,在我的自定义编写的脚本加载器中一切正常,除了正在加载的脚本被执行两次之外

这是完整的代码:

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

6
推荐指数
1
解决办法
898
查看次数

PHP方法获取文件中的行数并将文件指针移动到指定的行?

有办法:

  1. count我的small_db.php中的行数(1行=数据行)
  2. 告诉PHP将文件指针精确地移动到第322行的开头.(所以我可以从这一行获取fgets()数据)
  3. 告诉PHP返回文本"Quick brown fox"发生的行号或整行内容?

我知道有另一种方法可以将文件的所有内容都放在一个字符串中,但是正如你所知,如果文件的大小很大,那么方法就是时间和内存效率低下.

php filesystems flat-file

4
推荐指数
1
解决办法
2万
查看次数