[英]change a word in a line of text file with php
我需要在Maildir之后更改單詞,在此示例行的NULL中:(單詞NULL可以是任何單詞。)
[3]=>
string(42) "SPAM
* ^Subject: \[SPAM\].*
Maildir/.NULL/"
我使用此代碼:
if($filecontent = file_get_contents($filename)){
$repertoire = "SPAM";
$tab = explode("#", trim($filecontent));
$tab[3] = preg_replace("#Maildir/*#", 'Maildir/.'.$repertoire.'/', $tab[3]);
var_dump($tab);
但我有
string(48) "SPAM
* ^Subject: \[SPAM\].*
Maildir/.NULL/.SPAM/"
我如何在Maildir / .SPAM中更改它,因為.NULL過多。
string(48) "SPAM
* ^Subject: \[SPAM\].*
Maildir/.SPAM/"
您可以這樣:
preg_replace('~Maildir/\K\.NULL/(?=\.SPAM)~', '', $string);
或任何單詞:
preg_replace('~Maildir/\K[\w.-]++/(?=\.SPAM)~', '', $string);
我已經測試過:
$string = <<<LOD
SPAM
* ^Subject: \[SPAM\].*
Maildir/.NULL/.SPAM/
LOD;
echo preg_replace('~Maildir/\K[\w.-]++/(?=\.SPAM)~', '', $string).'<br/>';
echo preg_replace('~Maildir/\K\.NULL/(?=\.SPAM)~', '', $string).'<br/>';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.