本文整理汇总了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;
}