2010-11-25 10 views
0

私は約10以上のイメージタグを持つhtmlファイルを持っていますが、それはさまざまです。今、私が達成したいがイメージ内のイメージを置き換えるsrcタグ

<img src="image1.png" .... 
<img src="image2.png" .... 

これが可能である。この

<img src="<?=imageResize('image1.png',20,15)?>" ... 
<img src="<?=imageResize('image2.png',20,15)?>" ..`. 

私はこのような何かを交換したい以下の例のように、PHPの機能で画像srcを交換するのですか?

+0

imgタグは常に ' Gordon

+0

@Gordon - はい、いつも Roland

+0

HTMLを操作しますか?このような場合は、DOMパーサーが必要になります。 – jwueller

答えて

3

をのは、現在のページのソースを$sourceに含まれていると仮定しましょう。いくつかの正規表現を試してみてください:

<?php 
preg_replace ('/<img src="(.+)"/Ui', '<img src="<?=imageResize(\'\\1\',20,15)?>"', $source); 
?> 
0

私は2例を参照してください。

  • をごimageResize機能は、別の名前(image120x15.pngのようなもの)を使用して新しいものを作成し、イメージ名の文字列を返す、画像のサイズを変更します。
<img src="<?php echo imageResize('image1.png',20,15);?>" ... 
  • あなたimageResizeが実際に初期画像のサイズを変更し、それを上書き:この場合は、あなたのような何かを行う必要があります。この場合、ような何か:
<?php imageResize('image1.png',20,15);?> 
<img src="image1.png" ... 
0

出力バッファで出力をキャプチャして置き換えます。

<?ob_strart();?> 
<img src="image1.png" /> 
<img src="image2.png" /> 

<?php 
$cnt = ob_get_clean(); 
$cnt = preg_replace ('/<img src="([^"]+)"/', '<img src="<?=imageResize(\'\\1\',20,15)?>"', $cnt);?> 

実行関数imageresizeでは、eval()でoutputを実行する必要があります。

関連する問題