Php preg_match_all,wordpress功能

时间:2013-05-09 20:16:53

标签: php preg-match-all

我在互联网上找到了这个代码...我真的不知道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“a-z或符号或数字”在此之后“=”并且之前“”此“”

由于

1 个答案:

答案 0 :(得分: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的详细信息,请参阅文档 另请参阅,这是关于Regular Expressions的一般信息的重要来源。