小编beh*_*z4d的帖子

解析字符串 - 从字符串中删除一些单词

我有一个字符串:

$text = 'Hello this is my string and texts';
Run Code Online (Sandbox Code Playgroud)

我在数组中有一些不允许的单词:

$filtered_words = array(
            'string',
            'text'
        );
Run Code Online (Sandbox Code Playgroud)

我想,以取代在我所有的过滤词$text***,所以我写了:

$text_array = explode(' ', $text);
        foreach($text_array as $key => $value){
            if(in_array($text_array[$key], $filtered_words)){
                $text = str_replace($text_array[$key], '***', $text);
            }
        }
echo $text;
Run Code Online (Sandbox Code Playgroud)

输出:

Hello this is my *** and texts
Run Code Online (Sandbox Code Playgroud)

但我需要替换功能texts,***因为它还包含一个过滤的单词(文本).

我怎么能做到这一点?

谢谢

php string replace

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

jQuery事件多次触发

首先,我做我的家庭作业,我已经搜索谷歌和使用evt.stopPropagation();unbind方法,而不是固定我的问题.......

这是我的情况:

想象一下,我有一个带有一些链接的左侧边栏,点击每个链接,中间的col将由ajax重新加载,代码如下:

<script>
$('.leftsidebar a').on('click', function(){
    var page = $(this).attr('class')
    $('#middleCol').load('loader.php?page='+ page);
});
</script>
Run Code Online (Sandbox Code Playgroud)

所以每次点击左侧栏标签时,中间的col会加载一个标签class.php,它就好了.

现在在我正在加载中间列的页面中,在页面的末尾我有一些javascripts,例如,如果它loader.php?page=testtest页面中加载我有一些新的jQuery行,例如:

<script>
$('#blah').on('click', function(){
    $.ajax({
        type: 'POST',
        url: 'server.php',
        success: function(response){
            //blah  
        }   
    }); 
});
</script>
Run Code Online (Sandbox Code Playgroud)

现在的问题是,当我第一次通过点击leftside bar一个标签加载测试页面时,它工作得很好,点击#blah只会发送一个请求server.php,但是当我a从leftsidebar 点击另一个时,然后回来到test现在,如果我点击blah,ajax请求将被发送两次到server.php,等等......,如果我再次尝试,请求将被发送3次!

我该如何防止这种行为?解决办法是什么?

我很感激帮助.

ajax jquery

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

PHP intval()奇怪的结果

我遇到了一些奇怪的东西,我不知道它为什么会发生!

我有一个像这样的网址:

http://mysite.com/users/USER_ID

这个用户ID可能是INT也可能是STRING,就像Facebook页面地址一样,如果你用页面ID调用它加载它的页面,你也可以用页面名称"my_page_name"来调用它

所以想象一个用户,它的ID是1,它的地址是my_name 在我的php页面上我需要查询db,但在此之前我需要知道要查找哪个列,id或者page_name

所以我带来了这个解决方案:

<?php
    $id = $_GET['id'];
    $id_inted = intval($_GET['id']);

    if($id == $id_inted){
    // The column which I should look into is id
    $column = 'id';
    }else{
    // The column which I should look into is page_name
    $column = 'page_name';
    }

    $query = mysql_qyery(SELECT * FROM members WHERE $column = '$id');
?>
Run Code Online (Sandbox Code Playgroud)

所以我测试了它,但结果很奇怪,即使我调用这个URL:

http://mysite.com/users/page_name

有时候是这样的: $column = 'id';

我打开了一个新的测试页面:

<?php
$real_string = 'abcdefg';
$string_inted …
Run Code Online (Sandbox Code Playgroud)

php

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

MySQL查询 - 根据当前日期获取记录

我正在设置一个Cron,我想在与当天匹配的记录上做各种功能

我的users桌子:

Username      registration_date    expiration_date
behz4d        2012-01-19 21:55:44  2013-01-23 11:15:24
test          2012-05-24 17:42:13  2013-04-12 17:23:19
...
Run Code Online (Sandbox Code Playgroud)

现在,我想,他们的用户expiration_dateTODAY 我根本就查询表,让他们expiration_date在一个阵列,并且比较该日期与今天的日期,如:

$current_date = date("Y-m-d");
$query = mysql_query("SELECT username FROM users");
while($row = mysql_fetch_array($query)){
    $users_array[] = $row['username'] . "->" . substr($row['expiration_date'], 0, 10);// since I don't care about the exact time, I need to get the users who their expiration DAY is today 
}
foreach($users_array $username as $expiration_date){
    if($expiration_date == $current_date)
         $my_target_users[] = $username;
}
Run Code Online (Sandbox Code Playgroud)

但这似乎有点奇怪,我的意思是应该有另一种方式......

无论如何,我可以这样说 …

php mysql

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

UTC时间基于时区偏移量

我在UTC(0)中一直在MySQL中保存,所以我可以在以后显示不同时区用户的时间时更改它们,为了保存到db,我使用:

function get_utc(){
        date_default_timezone_set('UTC');
        return date("Y-m-d H:i:s"); 
    }
$now = get_utc();
Run Code Online (Sandbox Code Playgroud)

现在我想将这些时间转换为基于时区偏移量的不同时区,我正在使用此函数:

function utc_and_timezone($utc_time, $offset) {
        return date("Y-m-d H:i:s", strtotime($offset, strtotime($utc_time)));
    }
Run Code Online (Sandbox Code Playgroud)

因此,例如,如果UTC时间是:2013-01-30 21:06:29在那个时间应用+5时区很容易找到:

$new_time =  utc_and_timezone("2013-01-30 21:06:29", "+5 hours"); // Works Fine
Run Code Online (Sandbox Code Playgroud)

它可以很好地使用像5,6或其他整数的偏移,但与其他一些像+3.5,+ 2.5这不起作用:

$new_time =  utc_and_timezone("2013-01-30 21:06:29", "+5.5 hours"); // NOT WORKING
Run Code Online (Sandbox Code Playgroud)

谁知道为什么?!在不同的时区进行UTC时间的任何更好的解决方案......?

谢谢


简短的问题: 我想显示UTC时间像2013-01-30 21:06:29+3.5时区,这怎么可能?

php datetime

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

对数组上的索引进行排序 - PHP

我有一个这样的数组:

array
  0 => 'Name1'
  1 => 'Name2'
  2 => 'Name1'
  3 => 'Name2'
  4 => 'Name3'
  5 => 'Name2'
  6 => 'Name1'
  7 => 'Name3'
Run Code Online (Sandbox Code Playgroud)

应用array_unique()以允许重复的项目后,我的数组如下所示:

  0 => 'Name1'
  1 => 'Name2'
  4 => 'Name3'
Run Code Online (Sandbox Code Playgroud)

如您所见,数组索引为0,1,4!我需要将其重置并在制作时像新阵列一样,如:

  0 => 'Name1'
  1 => 'Name2'
  2 => 'Name3'
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

php arrays sorting

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

jQuery indexOf替换

在这里我有一个隐藏的输入字段

<input type="hidden" value="php,php mysql" id="tags"/>
Run Code Online (Sandbox Code Playgroud)

并且我还有一个普通的输入框,用户可以添加他们的新标签,现在我要检查是否已经为他添加了用户想要添加的新标签,如果已经添加了,alert('already there') ;

这是我的代码:

var already_added = $('#tags_final').val().toLowerCase();
new_tag = new_tag.toLowerCase();
if (already_added.indexOf(new_tag) < 0){
// add it, everything is OK
}else{
alert('already there');
}
Run Code Online (Sandbox Code Playgroud)

上面的工作正常的值,例如现在如果我尝试添加“ php”,这将是alert('已经存在'),问题是,如果我添加“ mysql”,这也会发送警报,因为它在“ php mysql”中找到它,但是“ mysql”是另一个标记,需要添加。为此想到什么解决方案?

谢谢你的帮助

javascript jquery

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

在jQuery中使用Next()

我有:

<div id="container">
    <div class="comment_text">
        <a>Blah blah</a> THIS IS WHAT I NEED
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想THIS IS WHAT I NEED从上面的div中获取文本,这是我通常做的事情:

var val = $.trim($('#container').find('.comment_text').text());
Run Code Online (Sandbox Code Playgroud)

但这也得到了a标签,所以我应该如何获得文本?我在考虑next()但它不起作用:

 var val = $.trim($('#container').find('.comment_text a').next().text());
Run Code Online (Sandbox Code Playgroud)

谢谢

jquery

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

标签 统计

php ×5

jquery ×3

ajax ×1

arrays ×1

datetime ×1

javascript ×1

mysql ×1

replace ×1

sorting ×1

string ×1