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;
}

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2015/06/25 16:44:01
  • 終了:2015/06/25 23:22:34

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4562ベストアンサー獲得回数19062015/06/25 17:31:02

ポイント300pt

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;
} 

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません