Iri::is_valid(): bool

In this article

Check if the object represents a valid IRI. This needs to be done on each call as some things change depending on another part of the IRI.

Return

bool

Source

public function is_valid() {
	$isauthority = $this->iuserinfo !== null || $this->ihost !== null || $this->port !== null;
	if ($this->ipath !== '' &&
		(
			$isauthority && $this->ipath[0] !== '/' ||
			(
				$this->scheme === null &&
				!$isauthority &&
				strpos($this->ipath, ':') !== false &&
				(strpos($this->ipath, '/') === false ? true : strpos($this->ipath, ':') < strpos($this->ipath, '/'))
			)
		)
	) {
		return false;
	}

	return true;
}

User Contributed Notes

You must log in before being able to contribute a note or feedback.