小编d-_*_*_-b的帖子

检查是否存在与正则表达式匹配的数组键

是否有快速(呃)方法来检查是否存在与模式匹配的数组键?我的目标是使用以" song_" 开头的键的值,而不管它是如何结束的.

目前我这样做:

foreach($result as $r){
   // $r = array("title"=>'abc', "song_5" => 'abc')
   $keys = array_keys($r);
   foreach($keys as $key){
       if (preg_match("/^song_/", $key) {
          echo "FOUND {$r[$key]}";
       }
   }           
}
Run Code Online (Sandbox Code Playgroud)

有没有办法跨阵列进行preg_match,或者是foreach通过array_keys最原生的方式来做到这一点?

php regex arrays string

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

NodeJS连接目录中的所有文件

是否有更快或更简洁的方法来连接使用NodeJS的目录中的所有文件?

在bash我可以做这样的事情:

for file in $1
do
  cat "$file"
  echo
done > $2;
Run Code Online (Sandbox Code Playgroud)

这是我现在正在做的事情:

var fs = require('fs');
var Promise = require('bluebird');

module.exports = function(directory, destination) {
    return new Promise((resolve, reject) => {
        fs.readdir(directory, (err, files) => {
            if (err) {
                return reject(err);
            }

            (function next() {
                var file = files.shift();
                if (!file) {
                    return resolve();
                }

                fs.readFile(directory + '/' + file, (err, content) => {
                    if (err) {
                        return reject(err);
                    }

                    fs.appendFile(destination, '\n' + content, (err) => {
                        if …
Run Code Online (Sandbox Code Playgroud)

node.js

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

Chart.js 如何修改现有图例

如何修改 Chart.js 中的现有图例?

我见过创建自定义 HTML 图例的复杂方法(使用generateLegend或),以及一个应该接受数组legendCallback的简单方法,但没有看到任何变化,因此假设这是版本 1 的变化。options.legend.legendText

我正在寻找向默认图例添加文本:

type: 'doughnut',
data: {
    datasets: [{
        data: series,
    }],
    labels: labels,                
},
options: {
   legend: {
     legendText = labels.map((label, index) => `${label} - ${series[index]}%`);
   }
}
Run Code Online (Sandbox Code Playgroud)

javascript chart.js

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

Docker M1 Mac 上的 Puppeteer 无法打开新页面(“Target.createTarget”)

我无法在 M1 Mac 上使用 Docker 中的 Puppeteer 启动新页面。

\n

版本

\n
Docker: version 20.10.11, build dea9396\nNode: 16.13.1\nMacOS: 12.0.1 (21A559)\nPuppeteer: 13.5.1\nM1 Chip\n
Run Code Online (Sandbox Code Playgroud)\n

错误信息

\n
ProtocolError: Protocol error (Target.createTarget): Target closed.\n    at /home/node/app/node_modules/puppeteer/lib/cjs/puppeteer/common/Connection.js:75:24\n    at new Promise (<anonymous>)\n    at Connection.send (/home/node/app/node_modules/puppeteer/lib/cjs/puppeteer/common/Connection.js:71:16)\n    at Browser._createPageInContext (/home/node/app/node_modules/puppeteer/lib/cjs/puppeteer/common/Browser.js:261:53)\n    at BrowserContext.newPage (/home/node/app/node_modules/puppeteer/lib/cjs/puppeteer/common/Browser.js:520:30)\n    at Browser.newPage (/home/node/app/node_modules/puppeteer/lib/cjs/puppeteer/common/Browser.js:254:37)\n    at /home/node/app/src/test.js:17:19\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)\n
Run Code Online (Sandbox Code Playgroud)\n

脚本

\n
Docker: version 20.10.11, build dea9396\nNode: 16.13.1\nMacOS: 12.0.1 (21A559)\nPuppeteer: 13.5.1\nM1 Chip\n
Run Code Online (Sandbox Code Playgroud)\n

Dockerfile(相关信息)

\n
FROM --platform=linux/amd64 node:16.13.1-slim\n\n# Server Dependencies (changed less often)\nRUN apt-get update …
Run Code Online (Sandbox Code Playgroud)

docker puppeteer apple-m1

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

带有空格的file_get_contents

我有一个问题,即使我将空格替换为%20并将此内容作为终极URL,浏览器将"%20"变为"%2520"

这是我的代码,任何建议让这个工作?这似乎很容易,但我卡住了:/

<?php
//$_GET['song'] will contain a song name with spaces
$song = str_replace(array("%20", "&", "?" , "/"), array(" ", "", "", ""), $_GET['song']);

// I use this to check how the GET 'song' looks after the str_replace
$list = "http://www.lyrdb.com/lookup.php?q=" . $song . "&for=fullt";
echo "list url is " . $list . "<hr>";

$content = file_get_contents("http://www.lyrdb.com/lookup.php?q=" . str_replace(" ", "%20", $song) . "&for=fullt");

echo $content;
?>
Run Code Online (Sandbox Code Playgroud)

如果你去http://webservices.lyrdb.com/lookup.php?q=red%20hot%20chili%20peppers&for=fullt结果应该输出一个歌词代码列表.

当我去我的网站/?song =红辣椒时,它也将空格转换为%20,但如果看起来浏览器将%'转换为%25.

有人可以帮我吗?

php spaces file-get-contents

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

有没有jQuery scrollTop的替代品?

是否有任何替代方法可用于将浏览器滚动到页面顶部的功能?现在我正在使用:$('html, body').animate({scrollTop: '0px'}, 300);.

是否有其他东西,或者不是jQuery的东西

javascript scroll

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

如何在连接表上使用mysql_fetch_array,但列具有相同的名称

可能重复:
如何使用PHP从多个同名列中获取MySQL行的结果?

我有两个表,它们共享相似的列名.

查询是:

SELECT a.name,b.name
FROM tablea a 
JOIN tableb b ON a.id = b.id
Run Code Online (Sandbox Code Playgroud)

结果放入一个数组:

while ($row = mysql_fetch_array($results)){
   $aname = $row['name'];
}
Run Code Online (Sandbox Code Playgroud)

一旦我在第二个表中添加,我注意到$aname正在使用tableb的数据.

问题:如何存储两name列,$row['a.name']不起作用.我的猜测可能是我需要在查询中为每个结果添加别名.有什么建议?我是否应该避免将来给出列名


I know mysql_* is deprecated. Save your energy.

php mysql sql

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

将git文件保存在另一个文件夹中

如何设置git来跟踪文件夹中的文件~/a,但是将.git文件夹存储在文件夹中~/b

另外,为了进一步采取这个(巨大的)步骤,我可以将.git文件夹保存在另一台服务器上并git从服务器运行命令a以检查git st例如服务器上的命令b吗?

基本上,我想能够在某个文件夹上使用git,而无需将该.git目录保存在同一个文件夹中.对于我上面的第二个问题,我想更进一步,甚至不将.git目录保存在同一台服务器上

谢谢!

git

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

jQuery keypress .val()在函数运行后返回先前的值

我有一个奇怪的问题,我似乎无法弄清楚:

这个keydown/keypress函数只返回前一个值(即第一次没有返回,第二次返回第一个值,第三次返回第二个值等等)

http://jsfiddle.net/ZRPfb/

有人可以告诉我为什么keydownkeypress不工作,但keyup工作?

 $(".modal-body #rowDownload").unbind().on('keypress',function(){
    var numRows = $(".modal-body #rowDownload").val();
    // var numRows = $(this).val();
    alert(numRows);

    if (typeof numRows !== 'number') return;

});
Run Code Online (Sandbox Code Playgroud)

jquery

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

延迟和手动初始化mdl materialLayout

奇怪的虫子.....

  • 我有一个竞争条件,我的angularJS指令用于header material-design-lite初始化布局drawer进行编译.

  • 只有当我关闭我的wifi并离线工作时才会发生这种情况.不需要远程资源,但谷歌标签管理器和Facebook连接插件在网络选项卡中失败.

问题:

  1. 我可以延迟MDL的自动初始化(我看到onload页面发生了什么?
  2. 我可以手动重新初始化mdl-layout,以便它可以重新构建抽屉按钮等吗?
  3. 有没有人知道为什么离线会导致任何渲染/ javascript问题?

我已经尝试window.componentHandler.upgradeAllRegistered()但不会重新初始化布局

javascript angularjs material-design material-design-lite

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