2012-01-22 6 views
1

可能性のある重複した値から "SRC =" を削除する必要があります。ここでは
How to parse and process HTML with PHP?は、すべてのPHPの配列が

を私がやろうとしているものです:

1)私のWordPressブログ投稿からすべての画像を見つける

2.)画像のURLへのリンクを投稿の先頭に作成する

3)これらの各リンクに属性を与える:

以下
rel="prettyPhoto[ INSERT POST TITLE HERE ]" 

は、私がこれまで持っているものです。

$szPostContent = $post->post_content; 
$szSearchPattern = '@src="([^"]+)"@'; 

// Run preg_match_all to grab all the images and save the results in $aPics 
preg_match_all($szSearchPattern, $szPostContent, $aPics); 


// Check to see if we have at least 1 image src 
$iNumberOfPics = count($aPics[0]); 


if ($iNumberOfPics > 0) { 

///this is what I want to do 
/// $aPicsTRIMMED = preg_replace('/src=/','/http=/',$aPics); 

for ($i=0; $i < $iNumberOfPics ; $i++) { 
echo ' <a rel="prettyPhoto['.$portTit.']"'; 
     echo $aPics[0][$i]; 
echo '>Image</a>'; 

    }; 
}; 

今は、そのまま、このコードは私に次を取得します。

<a rel="prettyPhoto[Correct Post Title]" src="http://mydomain.com/myimage.jpg">Image</a> 

非常に近いですが、srcの代わりにhrefが必要です。あなたが私が正しい方向に動いているかどうかを確かめないで、preg replace(間違って)を使ってみようとしています。これはPHPで初めてのことですが、私は壁に当たっています。うまくいけば、もっと身近な誰かが私ができる前にこれを理解することができるでしょう...(私がそれを作るなら、成功のストーリーを投稿します)私が自分を狂わせる前に助けてください。あなたはこのラインで全体のマッチsrc=...を注入している

echo str_replace('src=', 'href=', $aPics[0][$i]); 

答えて

4

は交換してくださいありがとうあなたの正規表現からインナーマッチグループ([^"]+)を使用してください。その一つは試合結果配列の[1]で提供されています:

 echo ' href="' . $aPics[1][$i] . '"'; 

そして、それはちょうど新しい属性スニペットhref="..."に囲まれる必要があります。

+0

あなたは素晴らしいです! –

1

 echo $aPics[0][$i]; 

しかし、あなただけのはずで

echo $aPics[0][$i]; 

を: