小编Kev*_*vin的帖子

使用$ 0来引用Javascript的String.replace中的整个匹配

我在一组文本中突出显示搜索字符串的实例.我想在替换查询的不区分大小写的匹配时保留原始文本的大小写.这是我开始的:

text.replace(new RegExp('(' + query + ')', 'ig'), '<em>$1</em>');
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我需要逃避query以防止括号打破子匹配,所以我想我会尝试:

text.replace(new RegExp(query, 'ig'), '<em>$0</em>');
Run Code Online (Sandbox Code Playgroud)

$0似乎没有使用 - 所有匹配的字符串都被$ 0替换.然而,我找到了另一种选择:

text.replace(new RegExp(query, 'ig'), function(match) { return '<em>' + match + '</em>'; });
Run Code Online (Sandbox Code Playgroud)

不过,我不是很喜欢它的外观.你会怎么建议做这种类型的字符串替换?

javascript regex replace

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

使用IMAP/SMTP在Gmail中创建消息(即草稿)?

我已经通过PHP中的IMAP函数对Gmail进行了很多收件箱操作,但我还没有找到一种创建邮件的方法.我不确定是否需要IMAP或SMTP,但我想使用PHP来创建一个新邮件(特别是草稿),该邮件存储在我的收件箱中,以及以后准备发送的所有内容.我该怎么做?

php gmail imap smtp

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

骰子赔率:模拟掷骰子游戏

我的兄弟在几周内满21岁,而我和我的父母将他带到拉斯维加斯.在我21岁的时候,我带着200美元在拉斯维加斯赌博并带着大约450美元回家,大部分来自于掷骰子.我计划再次为这次旅行带来200美元,在我走之前,我想我会做一些掷骰子模拟,看看我能不能再把钱翻倍.

我从几个消息来源中读到,当以最大赔率投注传球时,这个房子在掷骰子方面具有最小的优势.从我的记忆中,并且在Wizard of Odds的调查,大道上的大多数赌场都是3-4-5赔率,最低5美元.考虑到这一点,这里是在PHP中模拟掷骰子会话(100个骰子卷):

<?php

$stash = 200;
$bet = 5;

for($i=100; $i--;) {

    $dice1 = mt_rand(1, 6);
    $dice2 = mt_rand(1, 6);
    $total = $dice1 + $dice2;

    if(!$button) {
        if($total===7 || $total===11) {
            $stash += $bet;
        }
        elseif($total===2 || $total===3 || $total===12) {
            $stash -= $bet;
        }
        else {
            $button = $total;
            if($total===4 || $total===10) {
                $odds = $bet*3;
            }
            elseif($total===5 || $total===9) {
                $odds = $bet*4;
            }
            elseif($total===6 || $total===8) {
                $odds = $bet*5;
            } …
Run Code Online (Sandbox Code Playgroud)

php probability gambling dice

10
推荐指数
2
解决办法
3004
查看次数

MongoDB:$ addToSet/$ push文件只有在尚不存在时才会出现

我有一个lists集合,其中每个文档都有一个数组members.members数组的每个元素都是一个包含email属性,创建date属性和其他元数据的文档.我有一个唯一的索引,members.email以防止同一个电子邮件两次输入相同的列表,但我想保留原始date值.不幸的是,似乎$addToSet$push没有这样做.

使用$ push的示例:

$lists->update(array('_id' => $list['_id'], 'members.email' => array('$ne' => $email)), array('$push' => array('members' => array(
    'email' => $email,
    'date' => new MongoDate(),
    // etc.
))));
Run Code Online (Sandbox Code Playgroud)

并使用$ addToSet:

$lists->update(array('_id' => $list['_id']), array('$addToSet' => array('members' => array(
    'email' => $email,
    'date' => new MongoDate(),
    // etc.
))));
Run Code Online (Sandbox Code Playgroud)

由于(我假设)唯一date值,这两个示例都用新的替换整个嵌入文档.是否可能只有$push"成员"文档(如果members.email尚未存在)或者我是否需要在两个命令中执行此操作?

或者,将members类似parent_list属性放入自己的集合中是否可以更好地实现可伸缩性?

php mongodb

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

以编程方式从域名中提取关键字

假设我有一个我想分析的域名列表.除非域名是连字符,否则我看不到一种特别简单的方法来"提取"域中使用的关键字.但我看到它在DomainTools.com,Estibot.com等网站上完成.例如:

ilikecheese.com becomes "i like cheese"
sanfranciscohotels.com becomes "san francisco hotels"
...
Run Code Online (Sandbox Code Playgroud)

有效和有效地实现这一目标的任何建议?

编辑:我想用PHP编写.

php string dns keyword extraction

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

iframed页面的打印父窗口导致奇数缩放

我的任务是将几个HTML文档合并到一个页面中进行打印.我的第一次尝试失败了 - 我试图将每个页面内容隔离在他们自己的<div>标签和修改的样式表规则中以匹配.我使用iframe隔离每个文档的第二次尝试看起来明显更好,但是从iframe堆栈的父框架打印时,页面会被放大,而不是在自己的窗口中单独打印文档.

以下是我正在使用的文档示例:http://dl.dropbox.com/u/291229/print-test/index.html

您可以在Firefox中进行打印预览,看看我的意思.如果您在其自己的选项卡/窗口中打开第一帧并打印预览,则轮廓框很适合页面.在iframe堆栈的父窗口中执行相同操作会显示在页面边界外部流动的单元格.

免责声明:我没有对这些页面进行编码.是的,我知道他们很可怕.遗憾的是,该项目没有时间或预算来重新编写页面,以实现打印一组文档的单页目标.我可能会暂时要求用户单独打印每个页面以进行适当的缩放,但我仍然想了解可能导致此问题的原因.

css printing iframe zoom

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

标签 统计

php ×4

css ×1

dice ×1

dns ×1

extraction ×1

gambling ×1

gmail ×1

iframe ×1

imap ×1

javascript ×1

keyword ×1

mongodb ×1

printing ×1

probability ×1

regex ×1

replace ×1

smtp ×1

string ×1

zoom ×1