League\CommonMark\Util\UrlEncoder::unescapeAndEncode PHP Method

unescapeAndEncode() public static method

public static unescapeAndEncode ( string $uri ) : string
$uri string
return string
    public static function unescapeAndEncode($uri)
    {
        $decoded = html_entity_decode($uri);
        return strtr(rawurlencode(rawurldecode($decoded)), self::$dontEncode);
    }

Usage Example

 /**
  * Attempt to parse link destination
  *
  * @param Cursor $cursor
  *
  * @return null|string The string, or null if no match
  */
 public static function parseLinkDestination(Cursor $cursor)
 {
     if ($res = $cursor->match(RegexHelper::getInstance()->getLinkDestinationBracesRegex())) {
         // Chop off surrounding <..>:
         return UrlEncoder::unescapeAndEncode(RegexHelper::unescape(substr($res, 1, strlen($res) - 2)));
     }
     $res = $cursor->match(RegexHelper::getInstance()->getLinkDestinationRegex());
     if ($res !== null) {
         return UrlEncoder::unescapeAndEncode(RegexHelper::unescape($res));
     }
 }
All Usage Examples Of League\CommonMark\Util\UrlEncoder::unescapeAndEncode