/** * Parses placeholder attributes from tag * * @param string $value_string * @param PerchXMLTag $Tag * @return string */ private function parse_placeholders($value_string, PerchXMLTag $Tag) { $s = '/:\\w+/'; $count = preg_match_all($s, $value_string, $matches, PREG_SET_ORDER); if ($count > 0) { foreach ($matches as $match) { $replacement = $match[0]; $placeholder = str_replace('-', '_', trim($match[0], ':')); if ($Tag->is_set("placeholder_{$placeholder}")) { $value_string = str_replace($replacement, $Tag->{"placeholder_{$placeholder}"}, $value_string); } } } return $value_string; }