PHP正規表現で文字列の最後に<br />を付ける方法

このQ&Aのポイント
  • PHP正規表現を使用して文字列の最後に<br />を付ける方法についてご質問です。
  • 現在、ereg_replaceを使用して文字列全体を置換していますが、正規表現がうまく機能していません。
  • 崩さずに文字列の最後に<br />を付ける方法を教えてください。
回答を見る
  • ベストアンサー

php正規表現について

こんばんは。夜遅くですが質問させていただきます。 正規表現に関する質問なんですが、仮に contents:yazirobee contents:gokuu contents:tyaozu contents:pikkoro contents:togasi という文字列があったとします。 この文字列の最後に<br />をつけたい場合、 例 contents:yazirobee<br /> contents:gokuu<br /> contents:tyaozu<br /> contents:pikkoro<br /> contents:togasi<br /> 正規表現ではどのように書けばいいでしょうか? ereg_replace("contents:.*","contents:.*<br />",$str) などとおけば、文字列自体が、contents:.*<br />となってしまいます。 pikkoro,tyaozuなどの文字列を崩さずに<br />を付加する方法を教えてください。 よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

最後に無条件でつけるということならわざわざ正規表現使うこともないと思いますが。 もしどうしてもということなら ereg_replace("$", "<br />", $str); とかでできませんか? #ためしてません さらにさらに、文字列群の中に置換対象でないものが混じっていて それをよけたいのなら、capture と back referenceを使えばよいかと。 ereg_replace("(contents:)(.*)", "\\1\\2<br />", $str); こうかな? #これもためしてません。

関連するQ&A

  • php 正規表現で、\マークを取り除くには?

    php で ereg_replace関数を使って¥マークを取り除きたいのですが、 ereg_replace("\\", "",$str); と記述すると Warning: ereg_replace() [function.ereg-replace]: REG_EESCAPE in C:\xampp... とエラーになってしまいます。 どうすれば正規表現により円マークを取り除くことができるのでしょうか?

    • ベストアンサー
    • PHP
  • PHP 正規表現

    はじめまして^^ 現在、PHPでプログラムを作っています。 そして、文字列の置き換えをする機会があり、 正規表現をつかうことになりました!! 置き換えに使う関数は、mb_ereg_replaceです! ある条件にあった部分の文字列を置き換えしたいと思っています。 そして、いろいろとやっていきましたら、あるひとつの壁にぶつかりました。。 例えば、PHPでは、正規表現の部分を [^文字]とやると、『文』と『字』という文字列以外にマッチという意味になるらしいのですが、 『文字』という文字列以外にマッチ、というふうに、表現したい場合は、 どう表現すればよいのですか? [^(文字)]とか、その他いろいろ、 自分なりに、色々ためしたのですが、うんともすんともいいません、、 どなたか、わかる方教えて下さいm(_ _)m

    • ベストアンサー
    • PHP
  • 正規表現を使用して、>から改行までを色変更したい

    正規表現の扱いで困っております。 やりたいことは、BBSで返信記事を書く際に、「>~さんへ」または、「>~さんへ」となっていたらその部分を色変更したいのです。 下記を含めて何パターンか試行したのですが、文字列が化けてしまい上手くいきません…。 $str = preg_replace( "(^>.*?<br />|^&gt;.*?<br />|<br />>.*?<br />|<br />&gt;.*?<br />)", "<font color=RED>\1</font><br />", $str ); $str = mb_ereg_replace( "(^([&gt;>][^<]+)<br />|(<br />)+([&gt;>][^<]+)<br />)", "<font color=RED>\2\4</font><br />", $str ); (環境) ・Windows2000&XP ・PHP 4.3.11 どなたかこれなら上手くいくというパターンが解りましたら、ご教授頂けたら幸いです。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 正規表現について

    変数の文字列を範囲指定して削除しようとしています。 正規表現を使って範囲指定したいのですが、うまくいきません。 <span class="shimei"> ~ </span> というのは正規表現でどのように書くのでしょうか? $name = mb_ereg_replace("<span class=\"shimei\">.*</span>","",$name); これはどこが間違っているのでしょうか?

    • ベストアンサー
    • PHP
  • PHPの正規表現について

    // URLエンコード $str =~ s/([^\w ])/'%' . unpack('H2', $1)/eg; $str =~ tr/ /+/; これをPHPの関数を使った方法と使わなかった方法が知りたいです。 また、正規表現で、ereg.., preg.., mb_eregがありますが、この違いの詳細が知りたいです。

    • ベストアンサー
    • PHP
  • PHP正規表現

    数字と.の文字列から 最初の.だけ残して 後の.は取り除きたいです。 *必ず数値.数値の形です。 文字列例→期待する値 12.12→12.12 121.152.4.2→121.15242 6.2.4→6.24 $varr = preg_split("/\./","6.2.4"); $varr[0] = "{$varr[0]}."; foreach($varr as $value){ $str .= $value; } echo $str; で出来るのですが、頭悪い感じがして 正規表現で1行とかできませんかねぇ

    • ベストアンサー
    • PHP
  • 正規表現を表示させたい

    今正規表現をしているのですが、どうやってブラウザーで表示できるのでしょうか?わかっている人にとってはめちゃくちゃくだらないことだと思うのですが、よろしくお願いします。下記のコードです。 <?php $str = "There is no pen . I want a pencil . "; ereg_replace("pen(cil)?", "pencil", $str ); ?>

    • ベストアンサー
    • PHP
  • 正規表現

    正規表現に疎いので質問させてください。 $param = ereg_replace('/?$', '', $_SERVER['REQUEST_URI']); これをpreg_matchで書くとどうなりますか? よろしくお願い致します。

    • 締切済み
    • PHP
  • Python上での正規表現でどのように書けば?

    PHPで作ったプログラムをGAE(Google App Engine)/Python で作り替えています。 PHPの置換処理で、たとえば、以下の正規表現をPythonで書きたいのですが、どのようにすればいいでしょうか? mb_ereg_replace("無([いかきくけこ])","な\\1",$str); この質問は、別の言い方をすると次のようにもなります。 「Pythonで以下をひとつの正規表現で表現したい」 str = re.sub('無い','ない',str) str = re.sub('無か','なか',str) str = re.sub('無き','なき',str) str = re.sub('無く','なく',str) str = re.sub('無け','なけ',str) str = re.sub('無こ','なこ',str) どなたか、お分かりになる方、教えて頂ければと思います。

  • 正規表現内に変数を使用する方法

    match() や replace() の第1引数に文字列ではなく正規表現を使用 できますがこの正規表現内に変数を使用する場合、どうやったらよいの でしょうか。 var str = 'てすと'; alert(str.replace(/str/, 'テスト')); とすることができません。 (Perlではパターン内に変数が使用できるのですがJSでは変数が使用 できません) http://ar.aichi-u.ac.jp/blog/js-replace.html に書いてあるように第1引数に文字列を渡すと正規表現ではなくただの 文字とのマッチになってしまうようなので(確認済み)使えません。 面倒ですがリンク先にあるようにnew RegExpでRegExpオブジェクトを 作ってやる方法しかないんでしょうか。

専門家に質問してみよう