我正在使用 Solr 7.5.0。并使用 Linux Mint Tara。 我有一个程序只能在 solr 中调用 json 结果的“id”。 这是 HTML 代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="solr2.php" method="post">
value:<input type="text" name="value">
<input type="submit" name="submit">
</form>
</body>
</html>
这是 solr2.php 代码:
<?php
$value = $_POST['value'];
$cari = file_get_contents("http://localhost:8983/solr/pdfindex/select?q=" .$value. "&rows=100&start=0&hl=true");
$contents = utf8_encode($cari);
$results = json_decode($cari);
$numFound = json_encode($results->response->numFound);
for ($i = 0; $i <= $numFound-1; $i++) {
$tab[$i] = $results->response->docs[$i]->id;
}
for ($i = 0; $i <= $numFound-1; $i++) {
echo '<tr>
<td style=text-align: center;><a
href="'.$tab[$i].'">'.$tab[$i].'</a></td>
</tr>';
}
?>
结果是:
/home/kevin/Documents/referensi/umkm_digital/Strategi Pemberdayaan UMKM Menghadapi Pasar Bebas Asean .pdf /home/kevin/Documents/referensi/umkm_digital/2012_Strategi Pemberdayaan UMKM Menghadapi Pasar Bebas Asean.pdf
问题是:我可以隐藏路径并只显示 pdf 标题吗?
请原谅我的英语不好:(
最佳答案
使用basename
in PHP .
Given a string containing the path to a file or directory, this function will return the trailing name component.
> php -r "var_dump(basename('/home/kevin/Documents/referensi/umkm_digital/Strategi Pemberdayaan UMKM Menghadapi Pasar Bebas Asean .pdf /home/kevin/Documents/referensi/umkm_digital/2012_Strategi Pemberdayaan UMKM Menghadapi Pasar Bebas Asean.pdf'));"
string(64) "2012_Strategi Pemberdayaan UMKM Menghadapi Pasar Bebas Asean.pdf"
另请注意,您应该对发送给 Solr 的任何用户输入进行转义,否则会将您的 Solr 服务器暴露给来自用户的恶意请求。如果用户经过身份验证和信任,这可能不是问题,但如果您使用的输入可用于您不应该信任的一般用户,请确保将其转义。
最简单的方法是使用一个库来访问 Solr,such as Solarium .
关于php - 在solr结果中隐藏路径(id),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53369779/