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

PHP5にて文章の作り変えとか出来ますか?

$a=
"ポケモンは楽しい。アニメの中では相当な人気だ。それは、ポケモンではなくバッタモンです。<br />
なんでだろうなんでだろうなんでだろうなんでだろうなんでだろう。<br />
『ポケットモンスター』シリーズは、「ポケットモンスター(以下ポケモン)」という不思議な生き物・・・。"


上記のような文章を以下のように変えたいのですが・・・

$a=
"<strong>ポケモン</strong>は楽しい。アニメの中では相当な人気だ。それは、<strong>ポケモン</strong>ではなくバッタモンです。&nbsp;
『ポケットモンスター』シリーズは、「ポケットモンスター(以下<strong>ポケモン</strong>)」という不思議な生き物・・・。"


(1)<br />の変わりに&nbsp;を入れる。
(2)キーワードが『ポケモン』の場合、ポケモンに<strong>タグを付ける。
(3)『ポケモン』のない文章(。以降。以前)は省く。


こんな芸当は出来るのでしょうか?
よろしくお願いしますm(_ _)m

●質問者: seadwell
●カテゴリ:ウェブ制作
✍キーワード:アニメ キーワード シリーズ タグ バッタモン
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● GEN111
●50ポイント

こんな感じ?

<?php
$a =
"ポケモンは楽しい。アニメの中では相当な人気だ。それは、ポケモンではなくバッタモンです。<br />
なんでだろうなんでだろうなんでだろうなんでだろうなんでだろう。<br />
『ポケットモンスター』シリーズは、「ポケットモンスター(以下ポケモン)」という不思議な生き物・・・。" ;

$a = str_replace(array('<br />', 'ポケモン'), array('&nbsp;', '<strong>ポケモン</strong>'), $a) ;

echo $a ; 
?>
◎質問者からの返答

GEN111さん、いつもありがとうございますm(_ _)m

今回、実行結果は

(1)br /の変わりに を入れる。

(2)キーワードが『ポケモン』の場合、ポケモンにstrongタグを付ける。

はできていましたが、

(3)『ポケモン』のない文章(。以降。以前)は省く。

は残念ながら出来ませんでした。

しかし、教えていただいたstr_replaceで何とか出来そうな気がします。

頑張ってみます。

ありがとうございました^^


2 ● Mook
●60ポイント ベストアンサー

もっと短く出来そうな気もしますが、下記のような感じでどうでしょうか。


<?php
$a="ポケモンは楽しい。アニメの中では相当な人気だ。それは、ポケモンではなくバッタモンです。<br />
なんでだろうなんでだろうなんでだろうなんでだろうなんでだろう。<br />
『ポケットモンスター』シリーズは、「ポケットモンスター(以下ポケモン)」という不思議な生き物・・・";

// <br /> で配列に分割
$ar = explode( "<br />", $a );

for( $i = count( $ar ) - 1 ; $i>=0 ; --$i ){

// ポケモン があったら置換、なかったら配列から取り除く
 if ( strpos( $ar[$i], "ポケモン", 0 ) === FALSE )
 array_splice( $ar, $i, 1);
 else
 $ar[$i] = str_replace( "ポケモン", "ポケモン", $ar[$i] );
}
// &nbsp; で結合
$a2 = implode( "&nbsp;", $ar );
print $a2;
?>
◎質問者からの返答

こりゃすげー!完璧です。

プログラムって何でも出来るんですね^^

今から、教えていただいた関数を念入りに見てみます。

ありがとうございました^^/

関連質問


●質問をもっと探す●



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