1

を使用file_get_contentsしてhtmlファイルに書き込んだ後、cssと画像へのパスが変更されたため、このファイルの内容の特定の部分を削除する必要があります。

だから私は以下のような行を持っています:

 <link href="/Elements/css/main.css" rel="stylesheet" type="text/css">
  <image src="/Elements/images/image1.gif" />

これらの2行の:'/ Elements /'の部分とその他の部分を削除して、正しいパスを取得したいと思います。

4

2 に答える 2

3

そして、あなたの問題は正確には何ですか?file_get_contentsから取得した文字列に対して str_replaceまたはpreg_replace (正規表現が必要な場合、つまり単純な検索と置換でない場合にのみ後者を使用) を使用し、ディスクに保存します。

すなわち。

$text = file_get_contents("yourfile.html");
$text = str_replace("/Elements/", "", $text);
file_put_contents("yourfile.html", $text);
于 2010-08-10T07:30:52.807 に答える
2

BINDゾーンファイルを編集するためにこれを1回行いました。最善の解決策は、ファイルを大きな配列に読み込み、削除する行を見つけることです。これらの行を設定解除または編集して、配列をファイルにプッシュします。

これは、ファイルを配列に読み込む方法です。

$html = file("something.html");

必要な行を次のように見つけます。

foreach($html as $key => $line)
{
  $html[$key] = str_replace("/Elements/", "", $line); 
}

次に、すべてをファイルに書き戻します

$fp=fopen("something.html","w+");
foreach($html as $key => $value)
{
   fwrite($fp,$value."\t");
}

正規表現を知っている場合は、それを調べることもできます (それが私が使用したものです)。次に preg_replace を使用します。

幸運を

于 2010-08-10T08:47:22.560 に答える