- ベストアンサー
抜粋文で改行したいのですが
某フリーサイトからいただいた日記プログラムなのですが 改行が反映されずに困ってます。 以下の部分が読込んでいる箇所っぽいのですがどこをどうすれば 改行が反映されるのでしょうか? <?php if($commentDsp == 1) echo str2Format($data['comment'],$commentNum,$config['encodingType']);//?> 何卒よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>残念ながら変化なし… あ~やっぱり。理屈は間違って無いと思いますが…何分、他人の書いたコードは少々見ただけでは皆目、処理の流れが見当付かないんで。実際に実験して結果を確認しながらで無いとどうにも頭の中だけでは難しいですね。期待に添えず申し訳ありません。 >同時にフォームから連絡を取ってみた… なんと!…それならば開発元から返事が来るのを待つのが一番確実でしょうが…1週間以上待っても返信無しなら、上手くメールが届いていないか、或いは開発者自身がもう既に開発に意欲を失ってしまったか…? P.S. 入力文にHTMLタグが許可される仕様ならば、単純に <br> を手打ちで予め記述して置くのが一番確実かな。タグも問答無用で削除される仕様ならば、禁則事項に引っ掛から無い様な「自分専用の特殊な文字列(例えば %br% みたいな)」を <br> の代わりに「改行記号」として記述し、最終的に表示されるページ内で別途に Javascriptを走らせてもう1回、文章の置換処理を行う様な流れにすれば、ちょっと強引ではあるけど改行自体はさせられるかな? 開発元から連絡が来なくて、どうにも手詰まりの状態になったら試してみてください。
その他の回答 (2)
- 4017B
- ベストアンサー率73% (1336/1814)
>/pkobo_news/admin/include/function.php の30行目. function str2Format($sentence,$length = 170,$encodingType = 'UTF-8'){ : : : $sentence = str_replace(array("\n","\r"),"",$sentence); ←この部分 : } 上記の該当部分の記述を、 $my_pattern = '/(\r\n|\n|\r)/'; $sentence = preg_replace( $my_pattern, '<br>', $sentence ); ~に書き換えればOK?? 実際に動作確認出来ないので、必ずバックアップを行ってからテストしてください。失敗、或いは他の部分に不具合が生じたら、素直に諦めて標準設定のままで使うべし! それでもどうしてもと言うのであれば、開発元に直に連絡を取って、カスタマイズの相談をするべきですね。 >http://www.php-factory.net/support.php え、何?絶対に金は払いたくないマン?…なら仕様が無いですね。モノにはそれ相応の対価が必要なのです…。 P.S. 個人的には「抜粋の文章は "改行無し" の方が好ましい」と思います。自分もWPテーマの改造等を行いますが、その際には必ず「抜粋:改行無し」にします。この開発者も恐らく自分と同じ考えで、その様な初期設定にしてあるのだと思います。 何故なら、「抜粋」の目的はまず一目見てその文章の概要を把握する事に有り、それ故に改行有りきの文章では下に画面をスクロールさせる必要が生じるため、本来の抜粋の主目的が充分に果たせない可能性が有る。この様な事を回避するために、抜粋内では問答無用に改行等を削除して、完全な平の1文章に加工した方が閲覧者の可読性が向上すると思われる。 後、改行が多い文章は雨ブロのバカ芸能人blogっぽく見える(笑)。
お礼
引き続きありがとうございます!!!感動しました! 掲示していただいたコードを入力して確認してみました。 ・・・残念ながら変化なしでした。 今回改行が必要な理由は、このプログラムを抜粋に使うのでは無く デザインを変えて日記的なあつかいで利用しようと思ったからなのです。 通常の抜粋でしたら改行が不要なのは私も同感です。 実はこの質問とほぼ同時にPHP工房さんにはフォームにて 連絡を取ってみたんですがいまだ返答が無い状態なのです・・・><
- 4017B
- ベストアンサー率73% (1336/1814)
無理!…て言うかその「抜粋」?の表示を処理する段階か、或いは抜粋用データを保存時点で何らかの処理、この場合は自動的に改行を削除する処理が行われる仕様になってると思われ。 例文に上げたモノは単に "結果" を表示させるプログラム部分に過ぎず、改行の処理は全く別のプログラム部分で処理されています。ですので上級者から見ても、「さあ、何のこっちゃ?」としか言い様が無い…! P.S. そのプログラムの配布先を明示して、それのどのバージョンをDLして使ったのかを補足してくださいな。自分には分からなくても、ソース全体が見れれば他の誰かが回答してくれるやも。
補足
>>4017B様 こ・・・これだけじゃどうしようもなかったんですね・・・ 知らずとはいえすみませんでした。 提供先はPHP公房さんのPKOBO-News01というCMSです。 http://www.php-factory.net/news/pkobo-news01.php
お礼
結果が希望通りじゃなかったとはいえ、わざわざご返答いただいたことには 大変感謝しております。本当にありがとうございました。 実は前回の4017B様からのご返答の直後、もう一度フォームから 連絡を取りましたら本日返答をいただけ解決しました!! 結果としてはhtmlファイル内に設定があったという なんともなさけない結果でした。かなり恥ずかしいです。