2017-10-13 3 views
0

埋め込みスタイルでstr_replaceまたはpreg_replaceを実行することはできますか?私は運が少しでもさまざまなオプションを試しましたが、私は何が欠けているのか分かりません。私は次のコードで絶対パスにこのパスを交換しようとしている埋め込みCSSスタイルのstr_replace

background: url("/wcsstore/comp/en_GB/header.jpg") no-repeat; background-position: center center; height: 200px; max-width: 1200px; margin: 0 auto 40px; 

を:

は、私は、例えば、相対バックグラウンド・パスとクラスが含まれているそれらの多くはCSSの束とページ上のタグを持っていますページ上のCSSをターゲットにすることはできません。

$replaceThis = 'url(\"/wcsstore/"'; 
str_replace('/wcsstore/', 'http://****.com/nimrod/wcsstore/', $replaceThis); 

ありがとうございます。

P.Sこの場合、個別のクラスをターゲットにすることはできません。これは、1,000以上のページにわたって実行されるヘッダーテンプレートに含まれるスニペットです。

答えて

0

あなたは、変数に新しい値を代入するのを忘れ:

$css ='background: url("/wcsstore/comp/en_GB/header.jpg") no-repeat; background-position: center center; height: 200px; max-width: 1200px; margin: 0 auto 40px;'; 
$css = str_replace('/wcsstore/', 'http://****.com/nimrod/wcsstore/', $css); 
echo "$css\n"; 

出力:ご返信用

background: url("http://****.com/nimrod/wcsstore/comp/en_GB/header.jpg") no-repeat; background-position: center center; height: 200px; max-width: 1200px; margin: 0 auto 40px; 
+0

感謝を!私はちょうどそれを執行しようとしましたが、パスをエコーするように見えるだけで、実際にドキュメントのすべての変更を実行するわけではありません。私は何かが本当にシンプルに欠けていますか(PHP初心者) – user6583984

+0

@ user6583984:私の編集を参照してください。 – Toto

+0

ご回答いただきありがとうございます。本当に助けに感謝します。私はちょうどあなたの編集提案にコードを更新しましたが残念ながら、まだパスを印刷し、埋め込みの変更を実行しない