Realizes a wording placeholder
@param string $placeholder The placeholder for the wording
@param $placeholder,... Optional strings inserted via String::Format
@return string The realized placeholder string
426865
function Realize($placeholder)
    {
        $args = func_get_args();
        array_shift($args);
        return $this->RealizeArgs($placeholder, $args);
    }
97765
private function placeholderSilhuette($config): string
    {
        $source = $config['source'] ?? null;
        $size = $config['size'];
        $color = $config['color'] ?? '#fefefe';
        $fgColor = $config['fgColor'] ?? '#e0e0e0';
        $silhouetteType = $config['silhouetteType'];
        
        if ($source === null) {
            throw new ImagerException('Placeholder of type "silhouette" needs a source image.');
        }
        
        try {
            $sourceModel = new LocalSourceImageModel($source);
            $sourceModel->getLocalCopy();
        } catch (ImagerException $e) {
            return '';
        }
        
        $tracer = new Potracio();
        $tracer->loadImageFromFile($sourceModel->getFilePath());
        $tracer->process();
        $data = $tracer->getSVG($size, $silhouetteType, $color, $fgColor);
        
        return 'data:image/svg+xml;charset=utf-8,' . rawurlencode($data);
    }
365892
public <B extends TextBoxBase> B setPlaceholderText (B box, String placeholder)
    {
        box.getElement().setAttribute("placeholder", placeholder);
        return box;
    }
242549
public function placeholder($text)
    {
        return $this->prependChild(
            Option::create()
                ->value(null)
                ->text($text)
                ->selectedIf(! $this->hasSelection())
        );
    }
533624
private function getPlaceholders($navItemPageId, $placeholderVar, $prevId)
    {
        return (new Query())
            ->from('cms_nav_item_page_block_item t1')
            ->select(['t1.id', 't1.block_id', 't1.json_config_values', 't1.json_config_cfg_values', 't1.variation', 't2.class'])
            ->innerJoin('cms_block t2', 't2.id=t1.block_id')
            ->where(['nav_item_page_id' => $navItemPageId, 'placeholder_var' => $placeholderVar, 'prev_id' => $prevId, 'is_hidden' => 0])
            ->orderBy(['sort_index' => SORT_ASC])
            ->all();
    }
1258463
protected function _getPlaceholder($placeholder = null)
    {
        $ret = $this->_getSetting('placeholder');
        if ($placeholder) {
            return $this->getData()->trlStaticExecute($ret[$placeholder]);
        }
        foreach ($ret as $k => $v) {
            $ret[$k] = $this->getData()->trlStaticExecute($v);
        }
        return $ret;
    }
580626
private function extractUsedClasses(&$placeholder)
    {
        $classNamespaceRegExp = '/([\\\\a-zA-Z0-9_]*\\\\[\\\\a-zA-Z0-9_]*)/';
        $matches = [];
        $usedInModelClasses = [];
        if (preg_match_all($classNamespaceRegExp, $placeholder, $matches)) {
            foreach ($matches[1] as $match) {
                $usedClassName = $match;
                $usedInModelClasses[] = trim($usedClassName, '\\');
                $namespaceParts = explode('\\', $usedClassName);
                $resultClassName = array_pop($namespaceParts);
                $placeholder = str_replace($usedClassName, $resultClassName, $placeholder);
            }
        }

        return array_unique($usedInModelClasses);
    }
1360049
static function Replace($placeholder)
    {
        $args = func_get_args();    
        array_shift($args);
        return self::ReplaceArgsUsing($placeholder, null, $args);
    }
427712
public function placeholder()
    {
        if ($this->placeholder === null) {
            $metadata = $this->metadata();

            if (isset($metadata['data']['placeholder'])) {
                $this->setPlaceholder($metadata['data']['placeholder']);
            } else {
                $this->placeholder = '';
            }
        }

        if ($this->placeholder instanceof Translation) {
            if (isset($this->placeholder->isRendered) && $this->placeholder->isRendered === false) {
                $this->placeholder = $this->renderTranslatableTemplate($this->placeholder);
            }

            if ($this->lang()) {
                return $this->placeholder[$this->lang()];
            }
        }

        return $this->placeholder;
    }
68913
public function getSetString($usePlaceholders = true, $includeText = true)
    {
        $statement = "";
        $this->setPlaceholderValues = array();
        
        foreach ($this->set as $set) {
            $autoQuote = $this->getAutoQuote($set['quote']);
            
            if ($usePlaceholders && $autoQuote) {
                $statement .= $set['column'] . " " . self::EQUALS . " ?, ";
                
                $this->setPlaceholderValues[] = $set['value'];
            } else {
                $statement .= $set['column'] . " " . self::EQUALS . " " . $this->autoQuote($set['value'], $autoQuote) . ", ";
            }
        }
        
        $statement = substr($statement, 0, - 2);
        
        if ($includeText && $statement) {
            $statement = "SET " . $statement;
        }
        return $statement;
    }
37238
protected function stubReplace($placeholder, $replace, $pregReplace = false)
    {
        if ($pregReplace) {

            $this->data->output['content'] = preg_replace(
                $placeholder,
                $replace,
                $this->data->output['content']
            );

        } else {

            $this->data->output['content'] = str_replace(
                $placeholder,
                $replace,
                $this->data->output['content']
            );
        }

        return $this;
    }
1133724
private function fetchPlaceholder($placeholder)
    {
        try {
            $image = $this->imageClient->get($placeholder);
        } catch (RequestException $e) {
            // We couldn't fetch the file, fall back to default behaviour
            return false;
        }

        $filename = sprintf('placeholder_%s.jpg', substr(md5(microtime()), 0, 12));

        try {
            $this->filesystem->put('files://' . $filename, $image);
        } catch (IOException $e) {
            // We couldn't save the file, fall back to default behaviour
            return false;
        }

        return $filename;
    }
1232039
public function GetReplacement($placeholder)
    {
        if(isset($this->translations[$this->language]))
        {
            $langTranslations = $this->translations[$this->language];
            if (isset($langTranslations[$placeholder]))
            {
                return $langTranslations[$placeholder];
            }
        }
        return $placeholder;
    }
430791
public function setPlaceholder ($placeholder = null)
    {
        if ($placeholder === false)
            $this->usePlaceholder = false;
        else {
            $this->setSelect2Options(array(
                self::SELECT2_OPTION_PLACEHOLDER => $placeholder === null ? $this->label : $placeholder
            ));
            $this->usePlaceholder = true;
        }
        return $this;
    }
987957
protected function replaceWith(
        /*# string */ $name,
        /*# string */ $placeholder,
        array &$context
    )/*# : string */ {
        // exact match
        if (isset($context[$name])) {
            return $this->getString($context[$name]);
        }

        // something like user.name
        $first = explode('.', $name)[0];
        if (false !== strpos($name, '.') && isset($context[$first])) {
            return $this->getSubPart($name, $placeholder, $context[$first]);
        }

        // not found
        return $placeholder;
    }
1119855
private function replacePlaceholders(string $path, array $placeholders): string
    {
        $result            = '';
        $inPlaceholder     = false;
        $curPlaceholder    = null;
        $inPlaceholderName = false;
        $pathLength        = strlen($path);
        for ($index = 0; $index < $pathLength; ++$index) {
            $character = $path[$index];
            switch ($character) {
                case '{':
                    assert($inPlaceholder === false, 'Nested placeholders (e.g. `{{}}}` are not allowed.');
                    $inPlaceholder     = true;
                    $inPlaceholderName = true;
                    break;
                case '}':
                    $result .= array_key_exists($curPlaceholder, $placeholders) === true ?
                        $placeholders[$curPlaceholder] : '{' . $curPlaceholder . '}';

                    $inPlaceholder     = false;
                    $curPlaceholder    = null;
                    $inPlaceholderName = false;
                    break;
                default:
                    if ($inPlaceholder === false) {
                        $result .= $character;
                    } else {
                        if ($character === ':') {
                            $inPlaceholderName = false;
                        } elseif ($inPlaceholderName === true) {
                            $curPlaceholder .= $character;
                        }
                    }
                    break;
            }
        }

        return $result;
    }
57386
public function setPlaceholder($hashCode, Expr\Raw $placeholder)
    {
        $this->placeholders[$hashCode] = $placeholder;
        
        return $this;
    }