-5

インターネットでこのコードを見つけました...私は本当にphpについて知りません...誰か技術を教えてください..

<?php
function catch_that_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('<img.+src=[\'"]([^\'"]+)[\'"].*>', $post->post_content, $matches);
  $first_img = $matches [1] [0];

  if(empty($first_img)){ //Defines a default image
    $first_img = "/images/default.jpg";
  }
  return $first_img;
}
?>

交換方法<img.+src=[\'"]([^\'"]+)[\'"].*>

このテキストで「=」の後と「]」の前に単語を取りたい場合:

[image name=ubuntustudio-tribal-54] 
or
[image name=office-tool]
or 
[image name=car] 
or 
[image name=158]

出力が必要です TAKE "az or symbol or number" AFTER THIS "=" and BEFORE THIS "]"

ありがとう

4

1 に答える 1

1

あなたがインターネット上で見つけたコードは、一種の無関係です。あなたが望むものを達成するためには、次のようなものが必要です:

$str = "[image name=ubuntustudio-tribal-54] ";
$pat = "~\[image name=([^\]]+)~i";
preg_match($pat, $str, $matches);
$name = $matches[1];

その後$nameは にバインドされubuntustudio-tribal-54ます。

PHP のpreg_matchに関する詳細については、ドキュメントを参照してください。正規表現全般
に関するこの優れた情報源も参照してください。

于 2013-05-09T20:27:09.603 に答える