Heim  >  Artikel  >  php教程  >  php mixed preg_replace_callback 实例应用代码

php mixed preg_replace_callback 实例应用代码

WBOY
WBOYOriginal
2016-06-13 11:17:301236Durchsuche

 

php教程 mixed preg_replace_callback 实例应用代码

//需求:在所有连接后面添加一个request=xxx; 这个函数比preg_replace灵活性更强,要注意它所替换的内容为整个正则表达式的内容。
$content = 'http://www.bkjia.com/aaa.php?id=111">链接2';
function add_source($matches)
{
    if(strpos($matches[1], '?'))
    {
        return 'href="'.$matches[1].'&request=xxx"';  //注意,这里和下面都加上了正则里括号外的东西:href="
    }
    else
    {
        return 'href="'.$matches[1].'?request=xxx"';
    }
}
$content = preg_replace_callback('/href=['|"](.*?)['|"]/', 'add_source', $content);


//实例二


  // 此文本是用于 2002 年的,
  // 现在想使其能用于 2003 年
  $text = "april fools day is 04/01/2002n";
  $text.= "last christmas was 12/24/2001n";

  // 回调函数
  function next_year($matches) {
    // 通常:$matches[0] 是完整的匹配项
    // $matches[1] 是第一个括号中的子模式的匹配项
    // 以此类推
    return $matches[1].($matches[2]+1);
  }

  echo preg_replace_callback(
              "|(d{2}/d{2}/)(d{4})|",
              "next_year",
              $text);

  // 结果为:
  // april fools day is 04/01/2003
  // last christmas was 12/24/2002


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php file 函数Nächster Artikel:php parse_url 函数教程