You are here

function _customfilter_process_extract_rep in Custom filter 5

1 call to _customfilter_process_extract_rep()
_customfilter_process_replace_sub in ./customfilter.module

File

./customfilter.module, line 1197

Code

function _customfilter_process_extract_rep($replacement) {
  $arr = array();
  $reps = array();
  preg_match_all('/([^\\\\]|^)(\\$([0-9]{1,2}|\\{([0-9]{1,2})\\}))/', $replacement, $reps, PREG_OFFSET_CAPTURE);
  foreach ($reps[4] as $key => $val) {
    if ($val == '') {
      $str = $reps[3][$key][0];
    }
    else {
      $str = $reps[4][$key][0];
    }
    $offset = $reps[2][$key][1];
    $length = strlen($reps[2][$key][0]);
    $arr[] = array(
      'index' => $str,
      'offset' => $offset,
      'length' => $length,
    );
  }
  return $arr;
}