Eu sou novo em PHP e tenho dificuldade em tentar limpar a saída que essa função cria. Qualquer resposta será bem vinda.
Função está abaixo:
function getTemplateBreadcrumbs($path, $title){
$path = str_replace("/", "/", $path);
$breadcrumbs = "<ul>n";
$breadcrumbs .= " <li><a href="/">Home</a></li>n";
$directories = explode("/", $path);
$tempPath = "/";
for($x=1; $x < count($directories)-2; $x++){
if($directories[$x] != null){
$tempPath .= $directories[$x] . "/";
$linkText = getPageVariable("pageTitle", $_SERVER["DOCUMENT_ROOT"] . $tempPath . "index.php");
if($linkText == null){
$linkText = ucwords(str_replace("-", " ", $directories[$x]));
}
$breadcrumbs .= " <li><a href="" . $tempPath . "">$linkText</a></li>n";
}
}
$breadcrumbs .= " <li>" . $title . "</li>n";
$breadcrumbs .= "</ul>n";
return $breadcrumbs;
}
Respostas:
1 para resposta № 1Usar filter_var()
com o FILTER_SANITIZE_URL
bandeira.
$url = filter_var($tempPath , FILTER_SANITIZE_URL);
1 para resposta № 2
você pode depurar usando echo
, print_r()
, var_dump()
Eu uso:
echo htmlspecialchars(print_r($var));
exemplo de como você pode usar:
function getTemplateBreadcrumbs($path, $title){
//rest of the code
echo "<pre>";
echo htmlspecialchars(print_r($breadcrumbs));
echo "</pre>";
return $breadcrumbs;
}
se você quiser testar de outra parte do código:
$teste = getTemplateBreadcrumbs("/home/index", "Home Page");
echo "<pre>";
echo htmlspecialchars(print_r($teste));
echo "</pre>";