替換某行,插入某行,刪除某行,獲取行號
<?php // fedora-centos-apache-php-cannot-write-delete-file // getsebool -a|grep httpd // httpd_unified --> off // setsebool -P httpd_unified 1 replaceTarget("test.txt", "aaaaaaaaaaaaaaaaa", "AAAAA"); //unlink("test.txt"); #替換指定字串 function replaceTarget($filePath, $replaceCont, $target) { $result = null; $fileCont = file_get_contents($filePath); $targetIndex = strpos($fileCont, $target); #查詢目標字串的座標 if ($targetIndex !== false) { #找到target的前一個換行符 $preChLineIndex = strrpos(substr($fileCont, 0, $targetIndex + 1), "\n"); #找到target的後一個換行符 $AfterChLineIndex = strpos(substr($fileCont, $targetIndex), "\n") + $targetIndex; if ($preChLineIndex !== false && $AfterChLineIndex !== false) { #刪掉指定行,插入新內容 $result = substr($fileCont, 0, $preChLineIndex + 1) . $replaceCont . "\n" . substr($fileCont, $AfterChLineIndex + 1); file_put_contents($filePath, $result); //$fp = fopen($filePath, "w+"); //fwrite($fp, $result); //fclose($fp); } } } #在需要查詢的內容後一行新起一行插入內容 function insertAfterTarget($filePath, $insertCont, $target) { $result = null; $fileCont = file_get_contents($filePath); $targetIndex = strpos($fileCont, $target); #查詢目標字串的座標 if ($targetIndex !== false) { #找到target的後一個換行符 $chLineIndex = strpos(substr($fileCont, $targetIndex), "\n") + $targetIndex; if ($chLineIndex !== false) { #插入需要插入的內容 $result = substr($fileCont, 0, $chLineIndex + 1) . $insertCont . "\n" . substr($fileCont, $chLineIndex + 1); file_put_contents($filePath, $result); //$fp = fopen($filePath, "w+"); //fwrite($fp, $result); //fclose($fp); } } } #刪除內容所在的某一行 function delTargetLine($filePath, $target) { $result = null; $fileCont = file_get_contents($filePath); $targetIndex = strpos($fileCont, $target); #查詢目標字串的座標 if ($targetIndex !== false) { #找到target的前一個換行符 $preChLineIndex = strrpos(substr($fileCont, 0, $targetIndex + 1), "\n"); #找到target的後一個換行符 $AfterChLineIndex = strpos(substr($fileCont, $targetIndex), "\n") + $targetIndex; if ($preChLineIndex !== false && $AfterChLineIndex !== false) { #重新寫入刪掉指定行後的內容 $result = substr($fileCont, 0, $preChLineIndex + 1) . substr($fileCont, $AfterChLineIndex + 1); file_put_contents($filePath, $result); //$fp = fopen($filePath, "w+"); //fwrite($fp, $result); //fclose($fp); } } } #獲取某段內容的行號 /** * @param $filePath * @param $target 待查詢欄位 * @param bool $first 是否再匹配到第一個欄位後退出 * @return array */ function getLineNum($filePath, $target, $first = false) { $fp = fopen($filePath, "r"); $lineNumArr = array(); $lineNum = 0; while (!feof($fp)) { $lineNum++; $lineCont = fgets($fp); if (strstr($lineCont, $target)) { if($first) { return $lineNum; } else { $lineNumArr[] = $lineNum; } } } return $lineNumArr; } ?>
referer: http://www.cnblogs.com/zemliu/archive/2012/06/16/2551541.html
相關推薦
【Java】sql實現插入,插入值的主鍵自增,防止遷移資料時報主鍵衝突的錯誤;
一、問題 我們要自己造一些測試資料,並且這些SQL指令碼要遷移到其他環境,遷移過程中,如果主鍵寫死,在其他環境,可能會出現主鍵衝突;所以,我們要寫活的主鍵,實現起來也很簡單; 二、解決方法 insert into userInfo(id,name,age)val
字符串函數(strcpy字符串拷,strcmp字符串比較,strstr字符串查找,strDelChar字符串刪除字符,strrev字符串反序,memmove拷貝內存塊,strlen字符串長度)
RR size art 刪除字符 rcp 技術分享 count oid space 1.strcpy字符串拷貝拷貝pStrSource到pStrDest,並返回pStrDest地址(源和目標位置重疊情況除外) char *strcpy(char *pStrDest
ABAP中,利用函式WS_DELIVERY_UPDATE進行VL02N發貨過賬時獲取憑證號(mblnr)
某專案中,做wms介面時,根據wms傳過來的引數,利用函式WS_DELIVERY_UPDATE進行發貨過賬(vl02n發貨過賬),而函式本身是不返回憑證號的,但客戶需求要在介面中返回過賬成功的憑證號,可以下幾種方式獲取到憑證號: 方法一:這種方法是最原始的方法,判斷函式執行
替換某行,插入某行,刪除某行,獲取行號
<?php // fedora-centos-apache-php-cannot-write-delete-file // getsebool -a|grep httpd // httpd_unified --> off // setsebool -P htt
VS程式設計,使用替換的方式,將程式碼中字串以某一字元以標誌(常以逗號)進行換行,分行顯示。(相當於按回車鍵)
1、從一行,通過替換變成多行,相當於按回車 替換之前: 替換之後: 步驟: 1,選中要替換的程式碼 2、按ctrl + H 兩個鍵,調出替換視窗, 3、在替換視窗進行如下設定: 4、點選替換所有按鈕
linux 下vim中關於刪除某段,某行,或者全部刪除的命令 ZZ
1,先開啟某個檔案: vim filename 2,轉到檔案結尾 在命令模式輸入 G 3,轉到10行 在命令模式輸入 10G 4,刪除所有內容:先用G 轉到檔案尾,然後使用下面命令: :1, .d 5,刪除第10行到第20行的內容:先用20G轉到第20行,然後使用下面命令:
Linux Vi 刪除全部內容,刪除某行到結尾,刪除某段內容 的方法
1.開啟檔案 vi filename 2.轉到檔案結尾 G 或轉到第9行 9G 3.刪除所有內容(先用G轉到檔案尾)(%$$#^71267*&%2)我型我塑www.5x54.com ,使用: :1,.d 或者刪除第9行到第200行的內容(先用200G轉到第200
vi命令刪除某行至某行,刪除某行至結尾
用到兩個命令 。 1 刪除xx行至xx行。 : 1,10d 命令解釋:刪除第一行到第10行2 直接跳轉到檔案結尾行 按下大寫的g --- G 在文尾輸入 : 1,.d 命
ACMNO.20 C語言-插入佇列 已有一個已排好的9個元素的陣列,今輸入一個數要求按原來排序的規律將它插入陣列中。 輸入 第一行,原始數列。 第二行,需要插入的數字。
題目描述 已有一個已排好的9個元素的陣列,今輸入一個數要求按原來排序的規律將它插入陣列中。 輸入 第一行,原始數列。 第二行,需要插入的數字。 輸出 排序後的數列 樣例輸入 1 7 8 17 23 24 59 62 101 50 樣例輸出 1
python pymysql 進行單行多行,全部結果處查詢,以及資料庫單行,多行資料插入問題
config.py # coding=utf-8 [config] ip=192.168.229.128 port=3306 user=root password=123456 db_name=betadb pymysql_demo.py # coding=utf-
qt下的時鐘程序(簡單美麗,繼承自QWidget的Clock,用timer調用update刷新,然後使用paintEvent作畫就行了,超詳細中文註釋)good
循環 連接 定位 根據 定時器 img cal widget tran 最近抽空又看了下qt,發現用它來實現一些東西真的很容易比如下面這個例子,繪制了個圓形的時鐘,但代碼卻清晰易懂[例子源自奇趣科技提供的例子]因為清晰,所以就只寫註釋了,吼吼其實也就這麽幾行代碼頭文件 /
python--文件操作刪除某行
literal continue new imp odi comment server enc pre 方法一: import shutil with open(‘/path/to/file‘, ‘r‘) as f: with open(‘/path/to/f
CXGRID用法(取行、列值;定位選中某行等等)
定位 caption gdt true llc bind ado edt databind Delphi Cxgrid獲取選中行列,排序規則,當前正在編輯的單元格內的值 cxGrid1DBTableView1.Controller.FocusedRowIndex 當前行號
2017年7月22日~23日,深圳市共創力為某上市企業提供整機設計工程內訓服務!
設計 最終 ges 培訓 學員 公司 團隊 com 開始 2017年7月22日~23日,深圳市共創力咨詢資深顧問李齊天老師為某上市企業提供了《整機系統設計方法與實踐》的內訓服務!該公司是武漢光谷著名的通信企業,研發團隊超過1000多人,此次培訓的引進公司領導層經過多方的選
最強自定義PHP集成環境,系統缺失dll和vc也能正常運行
缺少 免費 alt 系統 演示 php環境 com 解決 解決方案 PHPWAMP支持iis、apache、nginx等web服務器,並全部支持php多版本同時運行,無限自定義mysql、php PHPWAMP支持32和64,支持自定義自動匹配系統所需dll和vc,純綠化無
系統類擴展方法,實現對所有類或某種類擴展自定義方法
系統 方法 extension lis empty sem sta 實現 .... 擴展方法的格式: 1、必須把擴展方法寫在靜態類中 2、擴展方法的第一個參數必須加 "this" 修飾 例如,對所有object對象的擴展方法IsEmptyOrNull,判斷對象是否為空,ob
JavaScript 對圖像進行(追加,插入,替換,刪除)
刪除 簽名 添加節點 child bject 寬度 har random 全部 JavaScript 對圖像進行(追加,插入,替換,刪除) 本次所學內容: document.querySelector(‘.container‘) 這個是可以查找單
支持源碼多重加密,將網站一鍵生成EXE文件運行,封裝網站源碼演示運行
php整站打包工具 php網站打包成exe php網站生成exe php項目怎麽打包成exe php整站打包程序 PHP打包器應用場景:做好網站程序後,發布給用戶看,但是不想泄露源碼,可以選擇“封裝源碼生成EXE文件”,建議封裝前先用zend等加密代碼,可以起到雙重保險,對方在破解軟件的同
windows server,nginx安裝,配置,運行nodeJS後端的web項目的實現,以及錯誤分析及解決方法
lease args app clu ali real-ip directory 很多 命令 如果對nodeJS的後端的系統,源代碼在github上,https://github.com/saucxs/nodeJSBlog ,如果覺得可以,請請star並fork項目 項目
全國排名前十名某大型軟件公司數據庫筆試題,分享給大家
null trunc ora 筆試 性能優化 部分 常用 軟件公司 java 1)在java線程中wait和sleep方法的不同? 2)truncate與delete的區別? 3)說出一些常用的類,包,接口,請各舉5個 4)數組有沒有length()這個方法? String