本文整理匯總了PHP中HttpSocket::parseUri方法的典型用法代碼示例。如果您正苦於以下問題:PHP HttpSocket::parseUri方法的具體用法?PHP HttpSocket::parseUri怎麽用?PHP HttpSocket::parseUri使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類HttpSocket
的用法示例。
在下文中一共展示了HttpSocket::parseUri方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: extractLinks
/**
* Extracts all the hyperlinks from the entry text.
*
* @param string $text
* @param boolean $allowLocalLinks
* @return array of hyperlink in data
*/
protected function extractLinks($text, $allowLocalLinks = false)
{
$matches = array();
$result = preg_match_all('/href="([^"]+)"/i', $text, $matches);
if (isset($matches[1])) {
$urls = $matches[1];
} else {
$urls = array();
}
$result = array();
foreach ($urls as $url) {
if ($allowLocalLinks) {
$result[] = $url;
} else {
$Socket = new HttpSocket();
$urlInfo = $Socket->parseUri($url);
$serverHost = '';
if (isset($urlInfo['host']) && isset($urlInfo['scheme'])) {
$schemeLen = strlen($urlInfo['scheme']) + 3;
$serverHost = $urlInfo['scheme'] . '://' . $urlInfo['host'];
if (strpos(substr(FULL_BASE_URL, $schemeLen), ':') !== false) {
$serverHost .= ':' . $urlInfo['port'];
}
}
if ($serverHost != FULL_BASE_URL) {
$result[] = $url;
}
}
}
return $result;
}
示例2: parseUri
/**
* Parse uri wrapper. Handle both relative and global uri
*
* @param string $uri
* @return array
*/
public function parseUri($uri)
{
$sock = new HttpSocket();
$type = 'FULL';
if (strpos($uri, '://') === false) {
$localUri = 'http://sample.com' . $uri;
$uri = 'http://' . $uri;
}
$uriArray = @$sock->parseUri($uri);
if (!$uriArray) {
$uriArray = @$sock->parseUri($localUri);
if (!$uriArray) {
return false;
} else {
$type = 'REL';
}
}
return $uriArray;
}