我有一个字符串:
$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,***因为它还包含一个过滤的单词(文本).
我怎么能做到这一点?
谢谢
首先,我做我的家庭作业,我已经搜索谷歌和使用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=test在test页面中加载我有一些新的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次!
我该如何防止这种行为?解决办法是什么?
我很感激帮助.
我遇到了一些奇怪的东西,我不知道它为什么会发生!
我有一个像这样的网址:
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) 我正在设置一个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_date是TODAY
我根本就查询表,让他们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)
但这似乎有点奇怪,我的意思是应该有另一种方式......
无论如何,我可以这样说 …
我在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时区,这怎么可能?
我有一个这样的数组:
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)
我怎么能这样做?
在这里我有一个隐藏的输入字段
<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”是另一个标记,需要添加。为此想到什么解决方案?
谢谢你的帮助
我有:
<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)
谢谢