我正在使用Solr7.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>';
}
?>

结果是:
/主页/kevin/documents/referensi/umkm廑u digital/strategi pemberdaaan umkm menghadapi pasar bebas asean.pdf
/主页/kevin/documents/referensi/umkm_digital/2012_strategi pemberdayaan umkm menghadapi pasar bebas asean.pdf
问题是:我可以隐藏路径并只显示pdf标题吗?
请原谅我英语不好:(

最佳答案

使用basename in PHP
给定包含文件或目录路径的字符串,此函数将返回尾随的名称组件。

> 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

10-08 14:36