<?php namespace Elementor\Core\Utils; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } class Str { /** * Convert a non-latin URL to an IDN one. * Note: Max length is 64 chars. * * @param string $url - A URL to encode. * * @return string - IDN encoded URL ( e.g. `http://é.com` will be encoded to `http://xn--9ca.com` ). */ public static function encode_idn_url( $url ) { return preg_replace_callback( '/(https?:\/\/)(.+)/', function ( $matches ) { // WP >= 6.2-alpha if ( class_exists( '\WpOrg\Requests\IdnaEncoder' ) ) { $class = \WpOrg\Requests\IdnaEncoder::class; } else { $class = \Requests_IDNAEncoder::class; } return $matches[1] . $class::encode( $matches[2] ); }, $url ); } /** * Checks if a string ends with a given substring * * @param $haystack * @param $needle * @return bool */ public static function ends_with( $haystack, $needle ) { return substr( $haystack, -strlen( $needle ) ) === $needle; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
import-export | Folder | 0755 |
|
|
promotions | Folder | 0755 |
|
|
svg | Folder | 0755 |
|
|
assets-config-provider.php | File | 1.49 KB | 0644 |
|
assets-translation-loader.php | File | 2.5 KB | 0644 |
|
collection.php | File | 9.66 KB | 0644 |
|
exceptions.php | File | 708 B | 0644 |
|
force-locale.php | File | 3.55 KB | 0644 |
|
hints.php | File | 9.64 KB | 0644 |
|
http.php | File | 981 B | 0644 |
|
isolation-manager.php | File | 415 B | 0644 |
|
plugins-manager.php | File | 2.83 KB | 0644 |
|
static-collection.php | File | 1.08 KB | 0644 |
|
str.php | File | 1000 B | 0644 |
|
version.php | File | 3.63 KB | 0644 |
|