サポート » 使い方全般 » Amazon JSのショートコードを削除するためのSQL文を教えてください

  • 解決済 echizenya

    (@echizenya)


    質問の主旨】

    記事の本文中にあるAmazon JSのショートコードをデータベースのSQL文で削除するためには、どのような文で命令すれば良いでしょうか?

    [amazonjs asin=”447810347X” locale=”JP” title=”福岡市を経営する”]
    [amazonjs asin=”4255010951″ locale=”JP” title=”沖縄問題、解決策はこれだ! これで沖縄は再生する。”]

    【質問の補足】

    1.
    自分でGoogle検索をしたり、正規表現を調べながら、下記のSQL文を考えました。

    update wp_posts set post_content=replace(post_content, "/[amazonjs asin=”\w{10}″ locale=”JP” title=”(.+)”]/", " ");

    上記の正規表現がショートコードと一致するかどうかは下記ののページでチェック済みです。
    http://okumocchi.jp/php/re.php

    2.
    フォローが必要なWordPressを保存しているサーバーからMySQLにログインしてSQL文を実行すると、なんとなく成功しているように見えます。

    mysql> update wp_posts set post_content=replace(post_content, "/[amazonjs asin=”\w{10}″ locale=”JP” title=”(.+)”]/", "");
    Query OK, 0 rows affected (0.01 sec)
    Rows matched: 8  Changed: 0  Warnings: 0

    3.
    ですがSQL文の実行後に、https://e-yota4.com/?p=1 にアクセスしても相変わらず、

    [amazonjs asin=”447810347X” locale=”JP” title=”福岡市を経営する”]
    [amazonjs asin=”4255010951″ locale=”JP” title=”沖縄問題、解決策はこれだ! これで沖縄は再生する。”]

    が表示されます。wp_postsテーブルのpost_contentカラムを確認しても、上記の文字列が残っています。

    4.
    本来は、https://e-yota.com/category/book_report/ で発生している、Amazon JSショートコードの文字列を一括削除したいと思っています。今回のSQL文実行は実験です。

    以上、ご確認のほどよろしくお願い申し上げます。

    • このトピックは3 ヶ月、 4 週間前に  echizenya さんが編集しました。理由: タグを間違えたため

    ヘルプの必要なページ: [リンクを見るにはログイン]

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • こんにちは

    SQL 実行後に出力されている、

    0 rows affected

    は、「影響があったのは 0 行です」
    という意味なので、全く更新されていません。

    また、MySQL の replace は正規表現に対応していません。

    ダンプしてテキストファイルとして正規表現で書き換えたらどうでしょうか。

    どうしても SQL でやりたいということでしたら、SQL 文について回答してもらえるところで質問されたら良いと思います

    @munyagu さん。
    コメントありがとうございます!

    >また、MySQL の replace は正規表現に対応していません。

    そもそもMySQLのreplaceが正規表現に対応していないことをはじめて知りました。今回の質問はとりあえず「解決済み」として、どうするかはちょっと考えます。今後ともどうぞよろしくお願いします。

    • この返信は3 ヶ月、 4 週間前に  echizenya さんが編集しました。

    Search Regex プラグインはどうでしょうか?
    正規表現を使った一括置換もできます。

    @ishitaka さん。
    コメントありがとうございます。

    Search Regex プラグインはどうでしょうか?

    Search Regexのページを確認すると、最終更新日が3年前になっていますね。WordPress5.1.1で使って大丈夫なのか心配なので、いまWP-CLIを使って正規表現による置換ができないかどうか検討しています。

    今後ともどうぞよろしくお願いします。

    先ほど、「Amazon JSのショートコードを削除するために必要なWP-CLIコマンドを教えてください」という投稿をして、別の角度から質問をしました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。