画像リンクの一括消去 - PHPプロ!Q&A掲示板

4953

  • 募集中!! 0P

画像リンクの一括消去

質問日時 / 2018年6月9日 13:55    回答数 / 2件

Questioner:  marrka30  このエントリーをはてなブックマークに追加 

キーワード / 画像リンク    一括消去   

WPのブログに投稿した画像全てにリンクが貼られています。
画像はそのまま残し、リンクのみ消去したいと思っています。
画像のリンクはBloggerのURLです。
参考書を見ながら以下のコードを書きましたが機能しません。
基本的な理解が足りておらず全く見当違いのコードになっているのかもしれません。
どうぞよろしくお願いします。

  1. add_filter( 'the_content', 'attachment_image_link_remove_filter' );
  2.  function attachment_image_link_remove_filter( $content ) {
  3. $content =
  4. preg_replace(
  5.  array('/<a .*?>(.*?)<\/a>/'> <img}',
  6. '{ *" /></a>}'),
  7. array('<img','" />'),
  8. $content
  9.  );
  10.  return $content;
  11. }


ツリー一覧

┗A01shimixそもそも >>CODE $content = preg_replace(array('/
 ┗A01-1shimix「img要素を括ったanchor要素のみ削除したい」という

回答一覧

並び替え:

A01
answerershimix [6月11日 17:58] (最終編集:6月11日 18:31)

そもそも
  1. $content = preg_replace(array('/<a .*?>(.*?)<\/a>/'> <img}','{ *" /></a>}'),array('<img','" />'),$content);
が、Parse error: syntax error, unexpected '<' になります。動作確認云々の前に、まずは文法エラーを潰してください。

#デバッグ時には全部のエラーメッセージを表示する設定にしてください

この意見に回答する

ツリーへ TOPへ

A01-1
replyershimix [6月12日 11:55]

「img要素を括ったanchor要素のみ削除したい」ということですよね?こんな感じで出来ませんか?
  1. <?php
  2. $str = file_get_contents()// $strにhtmlソースを得る
  3.  
  4. echo nl2br(htmlspecialchars($strENT_QUOTES));
  5. echo "<hr>";
  6. echo nl2br(htmlspecialchars(attachment_image_link_remove_filter($str)ENT_QUOTES));
  7.  
  8. function attachment_image_link_remove_filter( $content ) {
  9.   $content = preg_replace('#<a .*?><img (.*?)</a>#i''<img $1' ,$content);
  10.   return $content;
  11. }

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)