簡體   English   中英

用PHP更改一行文本文件中的單詞

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

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