Title: Iri::to_uri
Published: March 29, 2023
Last modified: November 8, 2023

---

# Iri::to_uri( string|bool $iri ): string|false

## In this article

 * [Parameters](https://developer.wordpress.org/reference/classes/wporg-requests-iri/to_uri/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/classes/wporg-requests-iri/to_uri/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wporg-requests-iri/to_uri/?output_format=md#source)

[ Back to top](https://developer.wordpress.org/reference/classes/wporg-requests-iri/to_uri/?output_format=md#wp--skip-link--target)

Convert an IRI to a URI (or parts thereof)

## 󠀁[Parameters](https://developer.wordpress.org/reference/classes/wporg-requests-iri/to_uri/?output_format=md#parameters)󠁿

 `$iri`string|boolrequired

IRI to convert (or false from [WpOrgRequestsIri::get_iri()](https://developer.wordpress.org/reference/classes/WpOrgRequestsIri/get_iri/))

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wporg-requests-iri/to_uri/?output_format=md#return)󠁿

 string|false URI if IRI is valid, false otherwise.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wporg-requests-iri/to_uri/?output_format=md#source)󠁿

    ```php
     * @return string|false URI if IRI is valid, false otherwise.
     */
    protected function to_uri($iri) {
    	if (!is_string($iri)) {
    		return false;
    	}

    	static $non_ascii;
    	if (!$non_ascii) {
    		$non_ascii = implode('', range("\x80", "\xFF"));
    	}

    	$position = 0;
    	$strlen = strlen($iri);
    	while (($position += strcspn($iri, $non_ascii, $position)) < $strlen) {
    		$iri = substr_replace($iri, sprintf('%%%02X', ord($iri[$position])), $position, 1);
    		$position += 3;
    		$strlen += 2;
    	}
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/requests/src/iri.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.1/src/wp-includes/Requests/src/Iri.php#L1021)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/Requests/src/Iri.php#L1021-L1040)

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwporg-requests-iri%2Fto_uri%2F)
before being able to contribute a note or feedback.