- ベストアンサー
文字の挿入
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
書いてから気がついたんですが $str=preg_replace("/(.*\n){3}/","$0hoge\n",$str); で十分でしたね。 で$0とはパターンにマッチした文字列のことです。 この場合は何かの文字+改行が3回繰り返される文字列です
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
特殊な条件がなければ以下のような形でよいのでは? <? $str=<<<eof あいうえお かきくけこ さしすせそ たちつてと なにぬねの はひふへほ まみむめも eof; $str=preg_replace("/.*\n.*\n.*\n/","$0hoge\n",$str); print nl2br($str); ?>
お礼
yambejp様 いつもありがとうございます サンプルの動作 バッチリでした! $0hoge\n ここのところの $0 っていうのは何なんですか? ちょっと調べてみましたが わかりませんでした これが無いと このサンプルは欲しい動きをしない っていうのは試してみてわかったんですが 初めて見たもので…良かったら 教えて下さい 他にも応用きくものならゼヒ覚えておきたいので! よろしくお願いします
- UmJammer
- ベストアンサー率58% (115/196)
正規表現ではないですが、ポストされた文字をexplode()を使って改行コードで分割し、できた配列をループさせれば可能だと思います。 例えば以下のような感じでしょうか。 $array = explode("\n", $text); $newtext = null; foreach( $array as $k=>$v ){ if( $k % 3 == 0 && $k != 0 )$newtext .= "特定の文字ですよ\n"; $newtext .= $v; } $textはポストされたtextareaの文字列で、改行コードは予め統一しておくという前提です。 もっとスマートな処理があるかと思いますがとりあえず。
お礼
UmJammer様 ありがとうございます サンプルばっちり動きました! explode使うってなるほどですねー $k % 3 == 0 この辺りとか、サンプル見たら納得なのですが 自分では思い付きもしませんでした!! 発想が柔軟で素晴らしいです ありがとうございました!
関連するQ&A
- javaScriptで、テキストエリアのある文字列を見つけて、
javaScriptで、テキストエリアのある文字列を見つけて、 その行から、1行目と2行目を消すという処理を行いたいのですが、 コーディングがわかりません。 教えて下さい。 (例) 下記のテキストエリアから、「<ターゲット文字列>」を見つけて、 その行から1行目と2行目、つまりは、「さしすせそ」と「たちつてと」を削除したいです。 -----textarea----- あいうえお かきくけこ <ターゲット文字列> さしすせそ たちつてと
- ベストアンサー
- JavaScript
- エクセル)行挿入しても数式をそのままにしておきたい
よくある質問だったらすみません。あまり上手く検索ができなかったので教えてください。 シート1に、以下のデータがあります。 1 あいうえお 2 かきくけこ 3 さしすせそ 4 たちつてと シート2は、 =シート1!$B$1 =シート1!$B$2 =シート1!$B$3 =シート1!$B$4 という形で数式が張り付けていて、表示としては、 あいうえお かきくけこ さしすせそ たちつてと になっています。 シート1の3行目に行挿入をして 1 あいうえお 2 かきくけこ 3 さしすせそ 4 なにぬねの 5 たちつてと としたところ、 シート2のほうの数式が、 =シート1!$B$1 =シート1!$B$2 =シート1!$B$3 =シート1!$B$5 となり、 あいうえお かきくけこ さしすせそ たちつてと のままなんです… 希望としては、シート2の数式はそのままに、 =シート1!$B$1 =シート1!$B$2 =シート1!$B$3 =シート1!$B$4 で、 あいうえお かきくけこ さしすせそ なにぬねの とさせたいんです。 $をつければずれないと思っていたのですが、何がおかしいかわかりません。 幼稚な質問かもしれません。わかりにくい表現で申し訳ないです。 よろしくお願いいたします。
- 締切済み
- その他MS Office製品
- 行ごとでなく文字列を区切りにファイルを読み込む
非常の大きなテキストファイルを、1行1行ではなく、特定の文字列、 できれば正規表現を区切りとして、100行ぐらいをまとめて順次読み込みたいのですが、 どのようにすればいいでしょうか。よろしくお願いします。
- ベストアンサー
- Java
- 文字を反対に
文字を反対にしたいんですが… えっと、例えば あいうえお かきくけこ さしすせそ たちつてと… と長く続いているものを 一発で反対に … たちつてと さしすせそ かきくけこ あいうえお という風にしたいのですが、出来ますか? すごく長い文章があって、それを 反対にしたいのですが… やっぱり一行一行反対にするしか 方法は無いのでしょうか?
- 締切済み
- Windows NT・2000
- 指定位置に文字を挿入したい。
Excel、またはテキスト形式、CSV形式を利用して指定位置に文字を挿入する方法を教えてください。 ・123456789→12345-6789のように「6文字目にハイフンを挿入する」ということがしたい ・ファイルは1700行ほどあるのですが、その1700行の全てに「6文字目にハイフンを挿入する」を行いたい ・挿入される文字列に統一性がないので置換は使えません 自分なりに調べてみたところ有料のExcelマクロで使えそうな物はあったのですが なんとか無料で実現する方法はありませんでしょうか? よろしくお願いします。
- ベストアンサー
- その他(ソフトウェア)
- 正規表現で?
次のような仕組みのページを作りたいと思っているのですが、 どのようにすればいいか、教えてください。 ページにはテキストエリアとボタンが設置されていて、 テキストエリアには5行の文字列が入力されます。 こんな感じで↓ あいうえお かきくけこ さしすせそ たちつてと なにぬねの ボタンをクリックすると、新しいウィンドウに、 次のように表示されるようにしたいです。 A= (1行目の文字列) B= (2行目の文字列) C= (3行目の文字列) D= (4行目の文字列) E= (5行目の文字列) よろしくお願いします。
- ベストアンサー
- JavaScript
- textarea内で改行時に文字を挿入したい
テキストエリアにデータを表示するようにしています。 改行コードの後に文字を挿入したいのですが できますでしょうか。 よろしくお願いします。
- 締切済み
- JavaScript
- 正規表現で固定長に揃えたい
正規表現で固定長に揃えたい 秀丸など正規表現のできるエディタを使用し リターンを含まない長い文字列を固定長にしたいです <例> あいうえおかきくけこさしすせそたちつてとなにぬねのはひふ ↓10文字ずつ改行 あいうえおかきくけこ さしすせそたちつてと なにぬねのはひふ よろしくお願いします
- ベストアンサー
- その他([技術者向] コンピューター)
- 特定の文字列を含む行だけ削除する方法?
いつもお世話になっています。 Unixであるテキストファイルから、 特定の文字列を含む行(レコード)だけを 削除する方法を教えてください。 現在、grepを使って、いろいろ試しているのですが、 正規表現で、 ”***”を含まない行(レコード)だけを 切り出すとう正規表現の説明が見あたりません。 "^**"は、**以外の文字を検索できるようですが、 文字列に対しては、使えません。 grep以外の方法でも良いのですが、 なるべくシンプルにできる方法がありましたら 教えてください。 宜敷お願いします。
- ベストアンサー
- その他(OS)
お礼
yambejp様 更にシンプルな回答ありがとうございます! 正規表現って今のところ避けて通っている部分なのですが 使いこなせたら、かぁなり便利ですねぇ 勉強した方が絶対いいなーって今回思いました $0 の件も教えて頂いて本当にありがたいです こんなのあるんですねぇ 知らないことばっかりですよ ホントにありがとうございました!!