サポート » 使い方全般 » 複数行の文字列を置き換えたい

  • 解決済 mrsmith11

    (@mrsmith11)


    Search Regexというプラグインを使用して、

    <div style="height:9px" aria-hidden="true" class="wp-block-spacer"></div>
    
    <p>あいうおえお</p>

    という文字列を、

    <div style="height:9px" aria-hidden="true" class="wp-block-spacer"></div>
    
    <p>あかきお</p>
    
    <p>かきくけこ</p>
    
    <div style="height:9px" aria-hidden="true" class="wp-block-spacer"></div>

    に置き換えたいのですが、そもそも検索さえできずに困っています。

    正規表現にチェック入れたり、複数行のチェックを入れたり外したり、 \s や \s\n を入力してみたりなどしましたが、検索さえできません。

    どうすれば、複数行の検索が行えるのでしょうか。

    キャッシュプラグインなどほかのプラグインもすべて無効化して試してみましたが、やはり上手くいきません。

    置換ではなく、そもそも検索でヒットしませんので、肝心の置き換えができません。

    1行のみでしたら検索→置換できるのですがたとえば、<p>あいうおえお</p>という文字列はいろんな場所で使用しているため、必ず複数行で検索して置き換えを実行しなければなりません。

    どなたか使い方がわかる方おりましたらお教えいただけませんでしょうか。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは。
    プラグインのコードを少し読んでみましたが、マルチラインモードは選択出来るものの、内部的には許可されていないように見えますので、プラグインの不具合ではないかと思います。

    同様の問題は、GitHubのIssueとしても報告されています。

    プラグインのフォーラムで質問してみてはいかがでしょうか。

    こんにちは

    クラッシックエディタ、とか ビジュアルリッチエディターを使用しない 場合の話であれば

    
    <p>あいうおえお</p>
    

    DBには、特別自分でp要素を追加していなければ、p要素でラップされていないんじゃないかと思います。
    wpautop()で、フロントエンドでP要素で囲まれます。
    wpautopは、段落を改行の数で判定、文字列終端 2個で段落、1個で段落内改行だったと思います。

    • この返信は1年、 3ヶ月前にnobitaが編集しました。
    • この返信は1年、 3ヶ月前にnobitaが編集しました。

    こんにちは

    下記のような正規表現ではだめでしょうか。
    <div class="wp-block-spacer" style="height: 9px;" aria-hidden="true"><\/div>[\n|\r\n|\r]*<p>あいうおえお<\/p>

    トピック投稿者 mrsmith11

    (@mrsmith11)

    @ishitaka

    ありがとうございます。こちらを試して、正規表現にチェックを入れ、複数行ではなく、シングルでそのまま検索したら、無事検索できました。
    感謝いたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「複数行の文字列を置き換えたい」には新たに返信することはできません。