小编emm*_*mma的帖子

preg_split - 按空格和所选字符分割,但将字符保留在数组中

所以我有这个问题,我想用包含空格()和逗号(,)的模式分割一个字符串。我设法按该模式拆分我的字符串,但问题是我想将该逗号保留在数组中。这是我的字符串:

$string = "It's just me, myself, i and an empty glass of wine. Age = 21";
Run Code Online (Sandbox Code Playgroud)

这是我如何拆分它:

$split = preg_split('/[\s,]+/', $string, -1, PREG_SPLIT_DELIM_CAPTURE);
Run Code Online (Sandbox Code Playgroud)

这是我在这个例子中得到的数组(你可以看到逗号消失了)

这是我现在拥有的:

Array
(
    [0] => It's
    [1] => just
    [2] => me
    [3] => myself
    [4] => i
    [5] => and
    [6] => an
    [7] => empty
    [8] => glass
    [9] => of
    [10] => wine.
    [11] => Age
    [12] => =
    [13] => 21
)
Run Code Online (Sandbox Code Playgroud)

这是我想要的:

Array
(
    [0] => It's
    [1] => just …
Run Code Online (Sandbox Code Playgroud)

php regex preg-split

5
推荐指数
0
解决办法
1482
查看次数

jQuery不适用于Firefox,但适用于Chrome

我有这个jQuery代码:

function action(action){
    event.preventDefault();
    var products = $("#check-list input:checkbox:checked").map(function(){
      return $(this).val();
    }).get();
    var string = JSON.stringify(products);
    var table = $('#table').val();

    if(products.length != '0' || action === 'old-all'){
        $.ajax({
            type: 'post',
            url: 'app/toolbar.php',
            data: {action:action, table:table, ids:string},
            success:function(data){
                localStorage.setItem('notify', data);
                location.reload();
            },
        });
    } else{
        notify('You must choose an element first');
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用jQuery 3.3.1.

如果我点击一个按钮而没有选中我应该得到的复选框,You must choose an element first但如果我选择一个元素toolbar.php应该运行并做必须完成的事情(根据按下的按钮:

<button class="grey-btn" onClick="action('delete')">Delete</button>
<button class="grey-btn" onClick="action('update')">Update</button>
Run Code Online (Sandbox Code Playgroud)

Chrome完美地工作但它不起作用Firefox.我正在尝试一些答案,我在其他类似的'铬上的作品,但没有在Firefox上'的问题,但他们都没有一个工作:(

javascript ajax jquery cross-browser

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

Cron 作业无法打开输入文件

我的托管服务器上有一个cron job应该php每 30 分钟执行一个脚本。该php脚本用于废弃csv文件并将该数据更新到数据库中(我使用 MySQL 来实现)。当手动执行该脚本时,该脚本将起作用 - 它需要它45 seconds才能完成该过程。

现在,当它cron job运行时,我收到以下消息:

Could not open input file. 
Run Code Online (Sandbox Code Playgroud)

起初我认为这可能是因为执行该脚本需要超过 30 秒,所以我决定在 php 脚本开始时设置最大执行时间:

ini_set('max_execution_time', 300);
Run Code Online (Sandbox Code Playgroud)

但同样的消息又出现了。这是我的cron job

/usr/local/bin/php /home/emmaein/domain.com/folder/script.php?token=d8cn3j
Run Code Online (Sandbox Code Playgroud)

PS:该tokenget 变量有点像密码,因此每个人都不能执行它,所以基本上我的php脚本如下所示:

if($_GET['token'] === 'd8cn3j'){
    //open csv
    //get data
    //update db
} else{
    exit('I see you >:)');
}
Run Code Online (Sandbox Code Playgroud)

php cron

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

标签 统计

php ×2

ajax ×1

cron ×1

cross-browser ×1

javascript ×1

jquery ×1

preg-split ×1

regex ×1