Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Translator.php

function Translator::getXpathLiteral

12 calls to Translator::getXpathLiteral()
AttributeMatchingExtension::translateDashMatch in vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php
AttributeMatchingExtension::translateDifferent in vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php
AttributeMatchingExtension::translateEquals in vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php
AttributeMatchingExtension::translateIncludes in vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php
AttributeMatchingExtension::translatePrefixMatch in vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php

... See full list

File

vendor/symfony/css-selector/XPath/Translator.php, line 64

Class

Translator
XPath expression translator interface.

Namespace

Symfony\Component\CssSelector\XPath

Code

public static function getXpathLiteral(string $element) : string {
    if (!str_contains($element, "'")) {
        return "'" . $element . "'";
    }
    if (!str_contains($element, '"')) {
        return '"' . $element . '"';
    }
    $string = $element;
    $parts = [];
    while (true) {
        if (false !== ($pos = strpos($string, "'"))) {
            $parts[] = \sprintf("'%s'", substr($string, 0, $pos));
            $parts[] = "\"'\"";
            $string = substr($string, $pos + 1);
        }
        else {
            $parts[] = "'{$string}'";
            break;
        }
    }
    return \sprintf('concat(%s)', implode(', ', $parts));
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal