小编yan*_*yan的帖子

检查字符串是否只包含PHP中的URL

我想知道这是否是一种检查的正确方法,如果一个字符串只包含一个URL:

if (stripos($string, 'http') == 0 && !preg_match('/\s/',$string)) {
  do_something();
}
Run Code Online (Sandbox Code Playgroud)

stripos()检查字符串是否以"http"开头,
preg_match()检查字符串是否包含空格

如果不是这样,我假设字符串只是一个URL - 但这个假设是否有效?有没有更好的方法来实现这一目标?

php validation url

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

Shell脚本:按字母顺序获取文件夹中最后一个文件的名称

我有一个文件夹,其中包含自动创建的MySQL数据库备份.它们的名称由备份的日期组成,如下所示:

2010-06-12_19-45-05.mysql.gz  
2010-06-14_19-45-05.mysql.gz  
2010-06-18_19-45-05.mysql.gz  
2010-07-01_19-45-05.mysql.gz
Run Code Online (Sandbox Code Playgroud)

什么是获取列表中最后一个文件的文件名的方法,即按字母顺序排在最后的文件的文件名?

在shell脚本中,我想做类似的事情

LAST_BACKUP_FILE= ???
gunzip $LAST_BACKUP_FILE;
Run Code Online (Sandbox Code Playgroud)

shell

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

根据域,按分类术语筛选Drupal视图(在面板中显示)

这是一个Views 6.x-2.x问题:在一个有很多不同视图的网站上(其中很多都是面板中包含的块传递给块的参数)我想根据域的分类术语过滤视图网站是通过访问.此过滤应该是第一个参数(分类术语)的补充.

该站点配置为使用不同的域,例如example1.com和example2.com.我想将这些域"连接"到分类法术语45和115.

例如:

example1.com/my_view/1应显示具有术语1和术语45的所有节点.

example2.com/my_view/1应显示具有术语1和术语115的所有节点.

我的方法是添加第二个参数(第一个是默认的分类术语ID参数).作为默认参数,我在参数处理代码中使用以下剪切:

<?php
// Get domain.
$host = preg_match('/[^.]+\.[^.]+$/', $_SERVER['HTTP_HOST'], $hit);
$host = $hit[0];

// Select taxonomy term.
if ($host == 'example1.com'){
  $taxonomy = '45';
} elseif ($host == 'example2.com'){
  $taxonomy = '115';
}

return $taxonomy;
?>
Run Code Online (Sandbox Code Playgroud)

当我使用路径my_view /%(仅强制第一个参数)的页面显示时,这种方法有效.但是当我在面板中使用它时,我只得到一个空视图(如果选择"无上下文")或第二个参数没有任何效果(如果选择"第一个/所有术语的术语ID").

什么想法可能是错的?我真的尝试了很多.

drupal drupal-views drupal-panels drupal-6

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

htaccess mod_rewrite:重定向所有子域,排除一些

有许多类似的问题,但我找不到这个具体问题的答案:

在我的.htaccess中,我重写了将所有子域名重定向到http://example.com:

RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
Run Code Online (Sandbox Code Playgroud)

但我希望它忽略dev.example.com(也许还有其他一些子域名).我想这很容易,但我无法弄清楚.

.htaccess mod-rewrite

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