Jackalope\ImportExport\ImportExport::unescapeXmlName PHP Метод

unescapeXmlName() публичный статический Метод

Helper method to unescape node names that encoded invalid things for xml. At the same time, change document namespace prefix to repository prefix if needed.
public static unescapeXmlName ( string $name, array $namespaceMap ) : string
$name string A name encoded with escapeXmlName
$namespaceMap array
Результат string the decoded name
    public static function unescapeXmlName($name, array $namespaceMap)
    {
        foreach (self::$escaping as $raw => $escaped) {
            // Used a negative look behind to only replace non-escaped escape characters
            $name = preg_replace(sprintf('/(?<!_x005f)%s/', preg_quote($escaped)), $raw, $name);
        }
        // Now replace all escape characters with a regular underscore
        $name = preg_replace('/_x005f_(x[0-9a-zA-F])/', '_\\1', $name);
        return self::cleanNamespace($name, $namespaceMap);
    }

Usage Example

Пример #1
0
 /**
  * @dataProvider escapeDataProvider
  */
 public function testUnescapeXmlName($expectedOutput, $input)
 {
     $this->assertEquals($expectedOutput, ImportExport::unescapeXmlName($input, array()));
 }