簡體   English   中英

在文件中搜索單詞刪除行

[英]Search file for word delete line

我在這里搜索,發現腳本的一部分,該腳本應該搜索一個單詞並刪除該行。 我嘗試執行的操作似乎有點錯誤。 什么也沒做

提前致謝

<?php
//  Separate choice.php has the following pull down 
//  Select item to delete from list
//  <option value="item1.php">Item 1</option>
//  <option value="item2.php">Item 2</option>
//  ...... many items.

$workitem = $_POST["itemtodelete"]; 

$file = file("option.list.php");
foreach( $file as $key=>$line ) {
    if( false !== strpos($line, '$workitem') ) {
      unset ($key);
    }
}
$file = implode("\n", $file); 

?>

問題在於變量$ workitem周圍的單引號。 使用單引號會使變量“無效”,因此strpos使用字符串“ $ workitem”(不帶引號),而不是$ workitem的值。

要使其工作,請使用

"$workitem"

要么

"{$workitem}"

或者,因為您僅使用變量

$workitem

第二種選擇是在大多數情況下應使用的一種,但是,正如我提到的,第三種選擇是在此處應使用的一種。

首先,不會對單引號中的變量進行插值,其次,取消設置鍵實際上沒有任何意義,您需要取消設置數組元素:

foreach( $file as $key=>$line ) {
    if( false !== strpos($line, $workitem) ) {
        unset ($file[$key]);
    }
}

我猜這是$ workitem周圍的引號,只需刪除它們即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM