文字列内の少なくとも 2 つの改行 ( \n\n ) の最後の出現を置き換える必要があるため、 \n\nまたは\n\n\nまたは\n\n\n\nなど(少なくとも 2 \n ) " @@ "。preg_replaceであるべきだと思います。stackoverflowの回答にある多くのオプションを試しましたが、このすべてのオプションには、キャッチされなかったケースがいくつかあります。regex101 サイトで正規表現を用意しようとしたのですが、私はこれが苦手なので、サイトで動作しているように見える解決策を見つけました ( ) が、自分のコードで試してみると動作しません。/((\\n){2,})+(?!.*((\\n){2,})+)/i
もう1匹は でしたが([\\n\\n])+(.[^\\n\\n])*$
、これも前回のnnで釣れました
テスト文字列は次のとおりです。
ストレージ\nTransformer Book T101HA の強力なクアッドコア Intel X5 プロセッサにより、シームレスなマルチタスクにより、より少ない時間でより多くのことを成し遂げることができるため、毎日のすべてのタスクを問題なくこなすことができます。ストレージも便利で柔軟です。内部には 128GB の超高速フラッシュ ストレージがあり、マイクロ SD カード スロットを介して簡単に拡張できます。また、ASUS WebStorage の無制限のクラウド ストレージを 1 年間無料で利用できます!\n\nカラー|ホワイト/ゴールド\n\n\n\n\n\nCPU|Innn dsafdsfdfa \n\n\n\n\n\n\ n\ ndfnn
したがって、結果は次のようになります。
ストレージ\nTransformer Book T101HA の強力なクアッドコア Intel X5 プロセッサにより、シームレスなマルチタスクにより、より少ない時間でより多くのことを成し遂げることができるため、毎日のすべてのタスクを問題なくこなすことができます。ストレージも便利で柔軟です。内部には 128GB の超高速フラッシュ ストレージがあり、マイクロ SD カード スロットを介して簡単に拡張できます。また、ASUS WebStorage の無制限のクラウド ストレージを 1 年間無料で利用できます!\n\nカラー|ホワイト/ゴールド\n\n\n\n\n\nCPU|Innn dsafdsfdfa @@ dfnn
誰でもこれを手伝うことができますか?さらに、答えられた正規表現のロジックを説明できますか?
どうもありがとう。