Php add http to url

http_build_url

The parts of the second URL will be merged into the first according to the flags argument.

Parameters

(part(s) of) a URL in form of a string or associative array like parse_url() returns

same as the first argument

a bitmask of binary or’ed HTTP_URL constants; HTTP_URL_REPLACE is the default

if set, it will be filled with the parts of the composed url like parse_url() would return

Return Values

Returns the new URL as string on success or FALSE on failure.

Examples

Example #1 A http_build_url() example

echo http_build_url ( «http://user@www.example.com/pub/index.php?a=b#files» ,
array(
«scheme» => «ftp» ,
«host» => «ftp.example.com» ,
«path» => «files/current/» ,
«query» => «a=c»
),
HTTP_URL_STRIP_AUTH | HTTP_URL_JOIN_PATH | HTTP_URL_JOIN_QUERY | HTTP_URL_STRIP_FRAGMENT
);
?>

The above example will output:

ftp://ftp.example.com/pub/files/current/?a=c

See Also

User Contributed Notes 3 notes

pecl_http 2+ won’t provide http_ functions any more. They moved to Http namespace, sadly no backwards compat.

To sum it up — As of pecl_http >=2.0.0 this is no longed available. Also pecl_http 1.7.6 will work only for PHP

It seems to me that the return value must always have a protocol, a host and a path. If they are not provided in the input, default values are added.

From what I saw, the default value for the protocol is ‘http://’, for the host is the hostname (if running from cli) or the variable $_SERVER[‘HTTP_HOST’], for the path is the variable $_SERVER[‘SCRIPT_NAME’]

The class that replaces the functionality of this function is «http\Url».

The official decomentation can be found at: https://mdref.m6w6.name/http/Url

  • HTTP Functions
    • http_​cache_​etag
    • http_​cache_​last_​modified
    • http_​chunked_​decode
    • http_​deflate
    • http_​inflate
    • http_​build_​cookie
    • http_​date
    • http_​get_​request_​body_​stream
    • http_​get_​request_​body
    • http_​get_​request_​headers
    • http_​match_​etag
    • http_​match_​modified
    • http_​match_​request_​header
    • http_​support
    • http_​negotiate_​charset
    • http_​negotiate_​content_​type
    • http_​negotiate_​language
    • ob_​deflatehandler
    • ob_​etaghandler
    • ob_​inflatehandler
    • http_​parse_​cookie
    • http_​parse_​headers
    • http_​parse_​message
    • http_​parse_​params
    • http_​persistent_​handles_​clean
    • http_​persistent_​handles_​count
    • http_​persistent_​handles_​ident
    • http_​get
    • http_​head
    • http_​post_​data
    • http_​post_​fields
    • http_​put_​data
    • http_​put_​file
    • http_​put_​stream
    • http_​request_​body_​encode
    • http_​request_​method_​exists
    • http_​request_​method_​name
    • http_​request_​method_​register
    • http_​request_​method_​unregister
    • http_​request
    • http_​redirect
    • http_​send_​content_​disposition
    • http_​send_​content_​type
    • http_​send_​data
    • http_​send_​file
    • http_​send_​last_​modified
    • http_​send_​status
    • http_​send_​stream
    • http_​throttle
    • http_​build_​str
    • http_​build_​url

    Источник

    How to add http:// if it doesn’t exists in the URL in PHP?

    Let’s say we have passed the following value − And the output we want is with «http://» i.e. an actual link − For this, you can use dot(.) notation and conditional match with preg_match(). Here, we have set a function that adds «http:// to a string.

    How to add http:// if it doesn’t exists in the URL in PHP?

    There are many approaches to add http:// in the URL if it doesn’t exist. Some of them are discussed below.
    Method 1: Using preg_match() function: This function searches string for pattern and returns true if pattern exists, otherwise returns false. Usually, the search starts from the beginning of the subject string. The optional parameter offset is used to specify the position from where to start the search.

    int preg_match($pattern, $string, $pattern_array, $flags, $offset )

    Return value: It returns true if pattern exists, otherwise false.

    Example 1: This example takes the URL without http:// and returns the complete URL.

    geeksforgeeks.org http://geeksforgeeks.org

    Example 2: This example takes the URL with http:// and returns the URL without doing any correction.

    http://geeksforgeeks.org http://geeksforgeeks.org

    Method 2: This method use parse_url() function to add http:// if it does not exist in the url.

    geeksforgeeks.org http://geeksforgeeks.org

    Method 3: This method use strpos() function to add the http:// if it does not exist in the url.

    geeksforgeeks.org http://geeksforgeeks.org

    Method 4: This method use parse_url() function to add http:// in the url if it does not exists.

    geeksforgeeks.org http://geeksforgeeks.org

    What is the best regular expression to check if a string is a valid URL?, @Gumbo, it’s allowed in the spec and used in URI implementations for HTTP applications. It’s discouraged (for obvious reasons) but perfectly valid and should be

    How to add http:// if it doesn’t exist in the URL

    How can I add http:// to a URL if it doesn’t already include a protocol (e.g. http:// , https:// or ftp:// )?

    addhttp("google.com"); // http://google.com addhttp("www.google.com"); // http://www.google.com addhttp("google.com"); // http://google.com addhttp("ftp://google.com"); // ftp://google.com addhttp("https://google.com"); // https://google.com addhttp("http://google.com"); // http://google.com addhttp("rubbish"); // http://rubbish 

    A modified version of @nickf code:

    function addhttp($url) < if (!preg_match("~^(?:f|ht)tps?://~i", $url)) < $url = "http://" . $url; >return $url; > 

    Recognizes ftp:// , ftps:// , http:// and https:// in a case insensitive way.

    At the time of writing, none of the answers used a built-in function for this:

    function addScheme($url, $scheme = 'http://') < return parse_url($url, PHP_URL_SCHEME) === null ? $scheme . $url : $url; >echo addScheme('google.com'); // "http://google.com" echo addScheme('https://google.com'); // "https://google.com" 

    Simply check if there is a protocol (delineated by «://») and add «http://» if there isn’t.

    Note : This may be a simple and straightforward solution, but Jack’s answer using parse_url is almost as simple and much more robust. You should probably use that one.

    The best answer for this would be something like this:

    function addhttp($url, $scheme="http://" ) < return $url = empty(parse_url($url)['scheme']) ? $scheme . ltrim($url, '/') : $url; >

    The protocol flexible, so the same function can be used with ftp, https, etc.

    File_get_contents when url doesn’t exist, While this is a good solution, it doesn’t consider other http error codes like 500. So, a simple tweak could be like: $headers = get_headers($uri); if (stripos

    How to add http:// if it doesn’t exist in the URL PHP?

    Here, we have set a function that adds «http:// to a string. Let’s say we have passed the following value −

    And the output we want is with «http://» i.e. an actual link −

    For this, you can use dot(.) notation and conditional match with preg_match().

    Example

       return $stringValue; > echo addingTheHTTPValue("example.com"); echo "
    "; echo addingTheHTTPValue("https://example.com"); ?>

    Output

    http://example.com https://example.com

    How to add http:// if it doesn’t exist in the URL PHP?, Here, we have set a function that adds «http:// to a string. Let’s say we have passed the following value − example.com.

    How can I add http:// to a URL if no protocol is defined in JavaScript? [duplicate]

    My question is the same as this one, but the correct answers are for PHP, not JavaScript.

    How to add http:// if it doesn’t exist in the URL

    How can I add http:// to the URL if there isn’t a http:// or https:// or ftp:// ?

    Example: addhttp("google.com"); // http://google.com addhttp("www.google.com"); // http://www.google.com addhttp("google.com"); // http://google.com addhttp("ftp://google.com"); // ftp://google.com addhttp("https://google.com"); // https://google.com addhttp("http://google.com"); // http://google.com addhttp("rubbish"); // http://rubbish 

    Basically, how can this same function using PHP syntax be written using JavaScript? Because when I use the function preg_match it is not defined in JavaScript.

    function addhttp($url) < if (!preg_match("~^(?:f|ht)tps?://~i", $url)) < $url = "http://" . $url; >return $url; > 

    Use the same function in JavaScript:

    function addhttp(url) < if (!/^(?:f|ht)tps?\:\/\//.test(url)) < url = "http://" + url; >return url; > 

    What is the difference between POST and PUT in HTTP?, The PUT method requests that the enclosed entity be stored under the supplied Request-URI. If the Request-URI refers to an already existing resource, the

    Источник

    Как добавить http: //, если он не существует в URL?

    Как я могу добавить http:// к URL-адресу, если еще нет http:// или https:// или ftp:// ?

    addhttp("google.com"); // http://google.com addhttp("www.google.com"); // http://www.google.com addhttp("google.com"); // http://google.com addhttp("ftp://google.com"); // ftp://google.com addhttp("https://google.com"); // https://google.com addhttp("http://google.com"); // http://google.com addhttp("rubbish"); // 

    Измененная версия кода @nickf:

    function addhttp($url) < if (!preg_match("~^(?:f|ht)tps?://~i", $url)) < $url = "http://" . $url; >return $url; > 

    Распознает ftp:// , ftps:// , http:// и https:// в случае, нечувствительном к регистру.

    На момент написания статьи ни один из ответов не использовал встроенную функцию для этого:

    function addScheme($url, $scheme = 'http://') < return parse_url($url, PHP_URL_SCHEME) === null ? $scheme . $url : $url; >echo addScheme('google.com'); // "http://google.com" echo addScheme('https://google.com'); // "https://google.com" 

    Просто проверьте, есть ли протокол (обозначенный «: //») и добавьте «http: //», если этого не произошло.

    Примечание . Это может быть простым и parse_url решением, но ответ Джека, использующий parse_url , почти такой же простой и надежный. Вероятно, вы должны использовать этот.

    Сканируйте строку для :// , если она ее не имеет, добавьте http:// в строку . все остальное просто использует строку как есть.

    Это будет работать, если у вас нет входной строки мусора.

    Лучший ответ для этого будет примерно таким:

    модифицированный раствор никеля:

    function addhttp($url) < if (!preg_match("@^https?://@i", $url) && !preg_match("@^ftps?://@i", $url)) < $url = "http://" . $url; >return $url; > 

    этот код добавит http: // к URL-адресу, если его там нет.

    Попробуй это. Не является водонепроницаемым * , но может быть достаточно хорошим:

    function addhttp($url) < if (!preg_match("@^[hf]tt?ps?://@", $url)) < $url = "http://" . $url; >return $url; > 

    * : то есть префиксы типа «fttps: //» считаются действительными.

    используйте prep_url ($ url);

    если проверить, существует ли HTTP, ничего не произойдет, иначе добавьте http: //

    • Регулярное выражение для выражения конца строки
    • Функция возвращает только буквенно-цифровые символы из строки?
    • Правило .htaccess для многоязычного сайта
    • Различия между двумя регулярными выражениями
    • Использование регулярных выражений
    • Справка по регулярному выражению PHP Regex
    • Str_replace с регулярным выражением
    • Regex, чтобы проверить, существует ли точная строка
    • извлечь первые N цифр из строки с регулярным выражением
    • regex заменить «foo-some white space-bar» на «fubar»
    • Электронная почта читается на PHP
    • Удалить определенные строки из конца строки

    Источник

    Читайте также:  Python tkinter scrollbar frame
Оцените статью