我想知道这是否是一种检查的正确方法,如果一个字符串只包含一个URL:
if (stripos($string, 'http') == 0 && !preg_match('/\s/',$string)) {
do_something();
}
Run Code Online (Sandbox Code Playgroud)
stripos()检查字符串是否以"http"开头,
preg_match()检查字符串是否包含空格
如果不是这样,我假设字符串只是一个URL - 但这个假设是否有效?有没有更好的方法来实现这一目标?
我有一个文件夹,其中包含自动创建的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) 这是一个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").
什么想法可能是错的?我真的尝试了很多.
有许多类似的问题,但我找不到这个具体问题的答案:
在我的.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 ×1
drupal ×1
drupal-6 ×1
drupal-views ×1
mod-rewrite ×1
php ×1
shell ×1
url ×1
validation ×1