首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在PHP中只获取文件的一部分?

在PHP中只获取文件的一部分?
EN

Stack Overflow用户
提问于 2012-04-27 12:27:32
回答 5查看 293关注 0票数 0

在互联网上找不到任何关于这个的信息,或者是堆栈溢出?!!?

基本例子:

我想知道的一个很好的例子是,如果在句子中找到一个单词或短语,那么如何创建一个返回true的if语句。

另一个例子是:

假设我们在外部文件中有一个IP块列表。因此,我想我们需要在if语句中的某个地方使用file_get_contents

代码语言:javascript
运行
复制
// IP Blocklist
118.92.00
119.92.11
125.23.10

好的,这是我们的例子,IP封锁。您将如何创建一个能够找到中间IP (119.92.11)的if语句,即使其中还有其他内容(记住它很可能会改变!)?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-04-27 12:36:42

您的两个示例需要两种不同的技术才能可靠。

示例1只需要strpos()

代码语言:javascript
运行
复制
if (strpos($subjectString, $searchString) !== FALSE) {
  // substring exists
} else {
  // substring doesn't exist
}

如果要以不区分大小写的方式进行匹配,则可以使用stripos()

例如,两种情况下,最好使用数组。这是因为如果数组中有strpos(),那么11.22.22.11方法将与11.22.22.110匹配--而您不希望这样做。

相反,您可以这样做,使用in_array()

代码语言:javascript
运行
复制
// Get a list of IPs from file and split into an array
$ips = preg_split('/\s+/', trim(file_get_contents('list-of-ips.txt')));

if (in_array($searchIP, $ips)) {
  // IP exists
} else {
  // IP doesn't exist
}
票数 1
EN

Stack Overflow用户

发布于 2012-04-27 12:31:59

代码语言:javascript
运行
复制
if(strpos($file_contents, "119.92.11") !== false)
{
  //do your stuff
}
票数 0
EN

Stack Overflow用户

发布于 2012-04-27 12:32:00

这是用于外部文件的

代码语言:javascript
运行
复制
$ips = file ( $file );
$searchIP = "119.92.11";
$found = false;
foreach ( $ips as $ip ) {
    if ($ip == $searchIP) {
        $found = true;
    }
}

if ($found) {
    echo $searchIP, " Found";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10350595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档