0

文字列が見つかった行を消去するために、ファイル内で検索と置換操作を実行しようとしています。

sitemap.xml ファイルの内容は次のとおりです。

<urlset>
<url><loc>http://ex.com/jane.htm</loc><lastmod>2013-10-23</lastmod></url>
<url><loc>http://ex.com/test.htm</loc><lastmod>2013-10-24</lastmod></url>
</urlset>`

これは私がこれまでに得たものです:

$x=preg_quote('test.htm');
preg_replace("/^.+$x.+\n/",'',file_get_contents('sitemap.xml'));

しかし、それは機能していません...

4

2 に答える 2

1

^を正規表現から削除します。例:

/.+$x.+\n/
于 2013-10-24T12:57:36.303 に答える
1

正規表現を使用する代わりに:

$fileContent = file_get_contents('sitemap.xml');
$stringToBeFound = 'test.htm';
$lines = explode("\n", $fileContent);
$result = array();
foreach($lines as $k => $line){
  if(strpos($line, $stringToBeFound) === false){
    $result[] = $line;
  }
}
echo implode("\n", $result);
于 2013-10-24T12:57:44.080 に答える