-
Brett Bieber authoredBrett Bieber authored
Search.php 1.49 KiB
<?php
class UNL_Search
{
function __construct()
{
}
public static function removeRelativePaths($html, $base_url)
{
$needles = array('href="', 'src="', 'background="');
$new_base_url = $base_url;
$base_url_parts = parse_url($base_url);
if (substr($base_url,-1) != '/') {
if (isset($base_url_parts['path'])) {
$path = pathinfo($base_url_parts['path']);
} else {
$path = pathinfo('/');
}
$new_base_url = substr($new_base_url, 0, strlen($new_base_url)-strlen($path['basename']));
}
foreach ($needles as $needle) {
$new_txt = '';
while ($pos = strpos($html, $needle)) {
$pos += strlen($needle);
if (substr($html,$pos,7) != 'http://'
&& substr($html,$pos,8) != 'https://'
&& substr($html,$pos,6) != 'ftp://'
&& substr($html,$pos,9) != 'mailto://') {
if (substr($html,$pos,1) == '/') {
$new_base_url = $base_url_parts['scheme'].'://'.$base_url_parts['host'];
}
$new_txt .= substr($html,0,$pos).$new_base_url;
} else {
$new_txt .= substr($html,0,$pos);
}
$html = substr($html,$pos);
}
$html = $new_txt.$html;
}
return $html;
}
}
?>