2011-08-05 11 views
0

PHPとMySQLの新機能で、ブログ投稿のテキストフィールドのタグ(例:[image:1])を正しい画像に置き換える方法を見つけようとしています。私は今正しいポストで正しい絵を置く能力(正しい方向のいくつかのポインタのおかげで)を持っていますが、私は実際にそれらを投稿自体にタグを置いた場所に基づいてテキストにドロップしたいと思います。例えば、私は$ row ['post']自体をエコーする前に絵をエコーすることができますが、実際に$ row ['post']を見てPHPをプログラムする方法を理解することはできません。 [image:1]、そこにそのidの画像をエコーし​​、残りのポストをエコーし​​続けます。それは理にかなっていますか?その後、イメージをダンプする代わりに、最初の、だから、基本的にMySQLテキストフィールドのタグを画像に置き換えます

$body_text = str_replace ("[image:1]", $image_tag, $row['post']); 
echo $body_text; 

と:あなたは、変数$image_tagで画像タグを持っており、あなたのポスト本体は$row['post']に含まれている場合、あなたのロジックは次のようになります場合は

+0

いいえ、それはありません:) – shankhan

答えて

0

本文テキストは、最初にイメージプレースホルダを対応するイメージタグに置き換えてから書き出します。

0

あなたの「タグ」は、既知の文字列で、変更することはありません場合は、PHPのstr_replace() functionは、おそらくあなたのために十分であろう。

$output = str_replace("[input:1]", $replacement_string, $original_string); 

自分のタグ文字列が変わることができれば - あなたは[image:1]を持つようにしたいと言うが、 [image:anything-else]]の場合は、preg_replace()がより便利な機能になる場合があります。 preg_replace()あなたが一致する、より高度なパターン(正規表現)を使用して文字列を置換することを可能にする: - すなわち(.+)$1にマッピングされ

$output = preg_replace("/\[input:(.+)\]/", '<img src="image_number_$1">', $original_string); 

この例では、置換文字列は、元のタグ内の画像数への言及を含みます。

Regexは全体的な議論なので、あまり気付かない場合は、読んでみることをお勧めします。非常に強力ですが、非常にわかりにくい場合があります(これは比較的簡単な例です)。

希望に役立ちます。

関連する問題