美文网首页
PHP之preg_replace_callback(),将填空题

PHP之preg_replace_callback(),将填空题

作者: Cute_小肥鸡 | 来源:发表于2020-07-15 10:29 被阅读0次

    preg_replace_callback 函数执行一个正则表达式搜索并且使用一个回调进行替换。

    语法

    图1

    这个函数的行为除了可以指定一个 callback 替代 replacement 进行替换字符串的计算,其他方面等同于 preg_replace()。

    参数说明:

    • $pattern: 要搜索的模式,可以使字符串或一个字符串数组。
    • $callback: 一个回调函数,在每次需要替换时调用,调用时函数得到的参数是从subject 中匹配到的结果。
    • $subject: 要搜索替换的目标字符串或字符串数组。
    • $limit: 可选,对于每个模式用于每个 subject 字符串的最大可替换次数。 默认是-1(无限制)。
    • $count: 可选,为替换执行的次数。

    返回值

    如果subject是一个数组, preg_replace_callback()返回一个数组,其他情况返回字符串。 错误发生时返回 NULL。
    如果查找到了匹配,返回替换后的目标字符串(或字符串数组), 其他情况subject 将会无变化返回。

    实例

    //PHP
    public function fillQuestionStemHtmlFilter($stem){
      $index = 0;
      $stem = preg_replace_callback(
        '/\[\[.+?\]\]/',
        function ($matches) use (&$index) {
          ++$index;
          return "<span class='question-stem-fill-blank'>({$index})</span>";
        },
        $stem
      );
      return $stem;
    }
    
    //css
    .question-stem-fill-blank {padding-left: 15px;padding-right: 15px;border-bottom: 1px solid #666;color: #666;}
    

    效果图:


    替换成功后

    相关文章

      网友评论

          本文标题:PHP之preg_replace_callback(),将填空题

          本文链接:https://www.haomeiwen.com/subject/uuhdhktx.html