[英]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.