小编Yuv*_* A.的帖子

否定正则表达式中的反向引用

如果字符串具有此预测格式:

value = "hello and good morning"
Run Code Online (Sandbox Code Playgroud)

其中"(引用)也可能是'(单引号),而结束字符('或")与开头字母相同.我想匹配引号之间的字符串.

\bvalue\s*=\s*(["'])([^\1]*)\1
Run Code Online (Sandbox Code Playgroud)

(这两个是允许=符号附近的任何空格)

第一个"捕获的组"(在第一对括号内) - 应该与开头的引号匹配,后者应该是'或'然后 - 我应该允许任何数量的字符不是第一组中捕获的字符,然后我期待在组中捕获的字符(括号引号).

(必须在第二个捕获组中捕获所需的字符串).
但这不起作用.

这样做:

\bvalue\s*=\s*(['"])([^"']*)["']
Run Code Online (Sandbox Code Playgroud)

但我想确保开始和结束引号(双重或单引号)是相同的.


编辑
目标基本上是获取一个锚的开始标记,该锚具有包含在其类属性中的某个类名,我想要涵盖类属性的罕见情况,包括(')或().

根据这里的所有建议,我使用了以下模式:

<\s*\ba\b[^<>]+\bclass\s*=\s*("|'|\\"|\\')(?:(?!\1).)*\s*classname\s*(?:(?!\1).)*\1[^>]*>
Run Code Online (Sandbox Code Playgroud)

含义:
找一个标记 - 开放标志.
允许任何空格.
找到单词 a.
允许任何非关闭标记.
找到"class(任何空格)=(任何空格)"
获取开场引号,以下之一:("或'或\"或\').
来自Alan Moore的回答:允许任何不是开头报价的字符.
find classname
允许任何不是开头引号的字符.
找到与开头相同的收盘价.
允许任何unclosing-tag字符.
找到结束标记char.

regex backreference negate regex-group

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

如何避免在php中回显字符65279?(这个问题也与Javascript xmlhttp.responseText(ajax)有关)

我遇到过这里描述的类似问题(以及其他地方) - 在ajax回调中,我得到一个似乎没问题的xmlhttp.responseText(当我提醒它时 - 它显示正确的文本) - 但是当使用'if'时将它与字符串进行比较的语句 - 它返回false.

(我也是编写服务器端代码返回该字符串的人) - 经过多次研究字符串后 - 我发现该字符串有一个"隐形字符"作为它的第一个字符.未显示的角色.如果我将其复制到记事本 - 然后删除第一个字符 - 在再次按Delete之前不会删除它.

我在xmlhttp.responseText中为返回的字符串做了一个charCodeAt(0).它返回65279.

谷歌搜索它显示它是某种UTF-8控制字符,应该设置"big-endian"或"small-endian"编码.

所以,现在我知道问题的原因了 - 但是......为什么这个角色会被回应呢?在源PHP我只是使用

echo 'the string'...
Run Code Online (Sandbox Code Playgroud)

它显然以某种方式输出[chr(65279)]字符串......

为什么?我怎么能避免它呢?

javascript php ajax utf-8

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

if-> return vs. if-> else效率

这可能听起来像一个愚蠢的问题,我犹豫要发布它,但仍然:如果某些东西只需要在某种条件下运行,哪些更有效:

一个.

if (condition) {
   // do
   // things...
}
Run Code Online (Sandbox Code Playgroud)

B.

if (!condition) { return; }
// do
// things...
Run Code Online (Sandbox Code Playgroud)

performance if-statement return

30
推荐指数
5
解决办法
8072
查看次数

数据库效率 - 每个用户的表与用户表

对于有用户的网站.每个用户都有能力创建任何数量的,我们称之为"帖子":

效率方面 - 最好为所有帖子创建一个表,为每个帖子保存创建帖子的用户的用户ID - 或者为每个用户创建一个不同的单独,并只创建帖子那个用户?

sql database processing-efficiency

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

在Google Chrome中,SpeechSynthesis.speak(在Web Speech API中)会在几秒钟后停止

speak在Web Speech API中使用该功能时,在Chrome中,语音在几秒钟之后突然停止,在给予它的文本中间,在一个看似随机的地方(没有到达终点).这只发生在Chrome(适用于Firefox),在两台不同的计算机/系统上进行测试.

看看这个jsfiddle看/听:https://jsfiddle.net/fv9ochpq/

您可以看到SpeechSynthesis对象.speaking标志在停止讲话后保持打开(true).

我没有看到传递给话语的文本有任何记录限制.这是Google Chrome错误吗?顺便说一下,自2014年以来我就已经知道了这一点 - 当时我试图将语音功能添加到我制作的浏览器扩展中(那时它是可用于Chrome扩展的TTS API - 同样的事情也发生在那里),但最终还没有不要因为这个明显的错误而这样做.现在我想要克服这个问题 - 如果这是一个错误,我会感谢任何人指导我到最好的地方报告它.

编辑:它似乎在大约15秒后停止.每运行14秒添加一个间隔.resume()似乎"修复"了这个.请参阅:https ://jsfiddle.net/fv9ochpq/1/
但这是一个黑客攻击.

javascript google-chrome text-to-speech speech-synthesis webspeech-api

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

如何在Slick Carousel的事件中获取幻灯片元素?

Slick Carousel:http://kenwheeler.github.io/slick/

如何在事件中获取幻灯片的元素?例如:

   .on('afterChange', function (slick, currentSlide)
   {
      var currentSlideElement = //Get current slide element here
   });
Run Code Online (Sandbox Code Playgroud)

第一个参数似乎是event对象,但它的target(或currentTarget)始终是幻灯片容器,第二个参数似乎是光滑的对象....

javascript jquery carousel slick.js

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

Jquery Mobile:动态更改可折叠div的标题文本?

<div data-role="collapsible" data-content-theme="e" id="collapsePlace">
    <h3>Place:</h3>
    <!--things...-->
</div>
Run Code Online (Sandbox Code Playgroud)

如何<h3>在可折叠div中动态更改标题文本('Place:')?

我试过了:

$('#collapsePlace').children('h3').text('new text');
Run Code Online (Sandbox Code Playgroud)

它改变了文本 - 但失去了所有的造型!

jquery collapsable jquery-mobile

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

<input> with display:block in text-align:center div

有了这个:

<div id="parentdiv" style="text-align:center;width:600px;margin:auto;">
  <input type="button" value="push me" />
</div>
Run Code Online (Sandbox Code Playgroud)

该按钮与FF,Chrome,IE7和IE8中的浏览器窗口中心(根据需要)对齐.

但是,在按钮上添加"display:block":

<div id="parentdiv" style="text-align:center;width:600px;margin:auto;">
  <input type="button" style="display:block;" value="push me" />
</div>
Run Code Online (Sandbox Code Playgroud)

该按钮与IE7中的中心对齐 - 并且未与 FF,Chrome和IE8中的中心对齐.

为什么?并且带有display:block的按钮(或任何<input>)可以以某种方式居中对齐吗?(除了使用<center> - 适用于所有提到的浏览器,顺便说一句 - 但是"禁止"......)

html css

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

在Shadow DOM中为阴影根创建一个样式

我正在尝试设置阴影DOM根的子元素.
这定义了一个名为的自定义元素element-el,它有一个span名为'x'的字母,其中包含字母x,我想要的,事情状态为红色.

class El extends HTMLElement {
    constructor() {
        super();
        var shadow = this.attachShadow({mode:'open'});
        shadow.innerHTML = '<span class="x">X</span>';
    }
}
customElements.define ('element-el',El);
Run Code Online (Sandbox Code Playgroud)

我试过那些CSS样式:

element-el::slotted(.x) {
  color:red;
}
element-el::host .x {
  color:red;
}
element-el:host .x {
  color:red;
}
element-el::shadow .x {
  color:red;
}
element-el /deep/ .x {
  color: red;
}
element-el::content .x {
  color:red;
}
Run Code Online (Sandbox Code Playgroud)

X不会变红.我正在使用Chrome 56,它应该支持这个......

我想在没有style在shadow DOM中放置元素的情况下设置样式.
这是一个codepen:http://codepen.io/anon/pen/OpRLVG?edit = 1111

编辑:
本文表明,它是可能的风格影儿从外部CSS文件-仅仅因为他们错了吗?

css web-component shadow-dom custom-element

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

flash:ExternalInterface适用于embed标签,但不适用于object标签

据Adobe称,嵌入Flash对象的"现代"更新方式:

        <object id="theFlash" name="theFlash" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 
         width="400" height="225" align="middle">
            <param name="movie" value="theflashfile.swf" />
            <param name="allowScriptAccess" value="always" />
            <!--[if !IE]>-->
            <object type="application/x-shockwave-flash"
             data="getStreamFrame.swf" width="400" height="225">
            <param name="allowScriptAccess" value="always" />
            <!--<![endif]-->
            <a href="http://www.adobe.com/go/getflash">
                <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
            </a>
            <!--[if !IE]>-->
            </object>
            <!--<![endif]-->
        </object>
Run Code Online (Sandbox Code Playgroud)

尝试在SWF中调用AS3函数时,从Javascript:

     var flashObj = document.getElementById('theFlash');
     flashObj.someASFunction();
Run Code Online (Sandbox Code Playgroud)

(在AS方面:)

     import flash.external.*;
     function someASFunction() {
        //show some text
     }
     ExternalInterface.addCallback("someASFunction", someASFunction);
Run Code Online (Sandbox Code Playgroud)

不会在Firefox和Chrome的工作.闪光灯工作和加载.flashObj确实获得了对象的引用,但someASFunction未定义且不会被调用.

如果我用embed标签替换object标签:

   <embed id="theFlash" name="theFlash" height="225" width="400" align="middle" 
    type="application/x-shockwave-flash" allowscriptaccess="always"
    src="theflashfile.swf" />
Run Code Online (Sandbox Code Playgroud)

然后它适用于Firefox和Chrome(AS函数被调用并正常工作) - (虽然它在IE中不起作用). …

javascript flash actionscript-3 externalinterface

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