小编car*_*usm的帖子

PHP正则表达式组捕获

我有以下正则表达式:

\[([^ -\]]+)( - ([^ -\]]+))+\]
Run Code Online (Sandbox Code Playgroud)

这成功匹配如下:

[abc - def - ghi - jkl]
Run Code Online (Sandbox Code Playgroud)

但比赛是:

Array
(
    [0] => [abc - def - ghi - jkl]
    [1] => abc
    [2] =>  - jkl
    [3] => jkl
)
Run Code Online (Sandbox Code Playgroud)

我需要的是这样的:

Array
(
    [0] => [abc - def - ghi - jkl]
    [1] => abc
    [2] =>  - def
    [3] => def
    [4] =>  - ghi
    [5] => ghi
    [6] =>  - jkl
    [7] => jkl
)
Run Code Online (Sandbox Code Playgroud)

我能够在C#中查看群组"捕获".我怎么能用PHP做到这一点?

php regex

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

什么更好/更快?尝试捕获或避免异常?

我想知道,在一般编程中有什么更好或更快?避免异常或等待异常?

避免例外是:

string a = null;
list = someMethod();
if(list.Length > 0 ){
   a = list[0];
}
if(a!=null) ...
Run Code Online (Sandbox Code Playgroud)

或尝试捕捉异常......

string a = null;
try{
    a = someMethod()[0];
catch{}
if(a!=null) ...
Run Code Online (Sandbox Code Playgroud)

c# exception

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

制作一个php库,如何让它独立?

嗨,我正在为吉他和弦开发一个库.在库中的一些文件中我有这样的东西:

require_once "lib/GuitarChord.php";
require_once "lib/Chord.php";
require_once "lib/Key.php";
require_once "lib/Tuning.php";
Run Code Online (Sandbox Code Playgroud)

我怎样才能让这个库,所以它并不需要知道其中的其他库文件?

这样一个人可以在任何目录中拥有库文件?

编辑:删除了第二个问题.

php

8
推荐指数
1
解决办法
8640
查看次数

为什么这两个对象是相等的(==)?

在PHP中我有两个对象,它们是不同的,因为$ _frets变量(x是一个字符串"x"),但PHP说

($o1 == $o2) == TRUE.
Run Code Online (Sandbox Code Playgroud)

为什么?

转储$o1:

guitarChord Object
(
    [_guitarChord:guitarChord:private] => 
    [_chord:guitarChord:private] => chord Object()
    [_baseFret:guitarChord:private] => 0
    [_frets:guitarChord:private] => Array
        (
            [0] => x
            [1] => 0
            [2] => 2
            [3] => 2
            [4] => 2
            [5] => x
        )

    [_tuning:guitarChord:private] => tuning Object()
    [currVariation] => 0
    [nextVariation] => 
    [prevVariation] => 
)
Run Code Online (Sandbox Code Playgroud)

转储$o2:

guitarChord Object
(
    [_guitarChord:guitarChord:private] => 
    [_chord:guitarChord:private] => chord Object()
    [_baseFret:guitarChord:private] => 0
    [_frets:guitarChord:private] => Array
        (
            [0] => x …
Run Code Online (Sandbox Code Playgroud)

php comparison object

7
推荐指数
1
解决办法
2152
查看次数

使用范围的奇怪的firefox/javascript行为

嘿,所以我正在使用范围,我试图限制用户可以在页面上进行的选择.我的意思是用户可以选择他想要的任何东西,但选择不能超过我将设置的边界.

首先,我用定义的范围定义"边界".然后我将当前用户选择与定义的范围进行比较,如果当前选择开始低于边界或者当前选择结束高于边界,则我相应地调整,以便用户选择永远不会超出定义的边界范围/选择.

下面的函数只能工作如果我在进程启动前输出一个警报,如果我删除警报,那么firefox表现得很奇怪(比如选择页面的其他部分等)

问题是:为什么以下代码适用于警报以及为什么没有警报就无法正常工作?

谢谢!

var range = document.createRange(); // this is the boundaries range
range.selectNodeContents(document.getElementById("container"));

function test(){
            alert("let's go"); // if I remove this alert, the code doesn't work as expected, WHY?!
            if(window.getSelection().rangeCount == 0){
                return;
            }
            var curRange = window.getSelection().getRangeAt(0);
            if(curRange.compareBoundaryPoints(Range.START_TO_START, range) < 0){
                curRange.setStart(range.startContainer,range.startOffset);
            }

           if(curRange.compareBoundaryPoints(Range.END_TO_END, range) > 0){
               curRange.setEnd(range.endContainer,range.endOffset);
            }
        }
Run Code Online (Sandbox Code Playgroud)

javascript firefox range

3
推荐指数
1
解决办法
488
查看次数

为什么bootstrap不使用X图标作为关闭按钮?

我总是想知道为什么bootstrap不使用X图标作为关闭按钮.

有没有理由不使用标准X?

例:

bootstraop模态

标准X(gmail.com):

在此输入图像描述

user-interface twitter-bootstrap

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