人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPの文字置き換えについて質問です。

下記コードにて1個目の<H3>タグの直前に「aaa」という文字を入れておりますが、
2個目の<H3>タグの直前に「bbb」と入れるにはどうすればよろしいでしょうか。

$the_contentには<H3>を複数個含む(個数は変動)HTMLが含まれています。

function before_h3($the_content) {

$moji = 'aaa'

$h3 = '/<h3.*?>/i';
if ( preg_match( $h3, $the_content, $h3s )) {
$the_content = preg_replace($h3, $moji.$h3s[0], $the_content, 1);
}

return $the_content;
}

●質問者: keyboo
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●300ポイント ベストアンサー

2番目の <H3> の前に bbb と入れるだけであれば、こんな感じで。

<?php
function before_h3($the_content) {

 $moji = 'aaa';

 $h3 = '/(<h3.*?>.*?)(<h3)/i';
 $the_content = preg_replace($h3, '$1' . $moji . '$2', $the_content, 1);

 return $the_content;
} 

質問にある 1番目の前に aaa を入れるのも合わせてやるなら、こんな感じです。

<?php
function before_h3($the_content) {

 $moji_a = 'aaa';
 $moji_b = 'bbb';

 $h3 = '/(<h3.*?>.*?)(<h3)/i';
 $the_content = preg_replace($h3, $moji_a . '$1' . $moji_b . '$2', $the_content, 1);

 return $the_content;
} 
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ