-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 "=" 和 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 回答