如果字符串具有此预测格式:
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.
我遇到过这里描述的类似问题(以及其他地方) - 在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)]字符串......
为什么?我怎么能避免它呢?
这可能听起来像一个愚蠢的问题,我犹豫要发布它,但仍然:如果某些东西只需要在某种条件下运行,哪些更有效:
一个.
if (condition) {
// do
// things...
}
Run Code Online (Sandbox Code Playgroud)
B.
if (!condition) { return; }
// do
// things...
Run Code Online (Sandbox Code Playgroud) 对于有用户的网站.每个用户都有能力创建任何数量的,我们称之为"帖子":
效率方面 - 最好为所有帖子创建一个表,为每个帖子保存创建帖子的用户的用户ID - 或者为每个用户创建一个不同的单独表,并只创建帖子那个用户?
当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
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)始终是幻灯片容器,第二个参数似乎是光滑的对象....
<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)
它改变了文本 - 但失去了所有的造型!
有了这个:
<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> - 适用于所有提到的浏览器,顺便说一句 - 但是"禁止"......)
我正在尝试设置阴影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文件-仅仅因为他们错了吗?
据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 ×4
css ×2
jquery ×2
ajax ×1
carousel ×1
collapsable ×1
database ×1
flash ×1
html ×1
if-statement ×1
negate ×1
performance ×1
php ×1
regex ×1
regex-group ×1
return ×1
shadow-dom ×1
slick.js ×1
sql ×1
utf-8 ×1