我不确定这是否可能。我已经搜索了几天但没有运气。我想从数据库的文本字段中获取信息并创建一个列表,其中 Actor 姓名为链接。
例如......
现在,TEXT 字段输出如下:
Bill Murray - Peter Venkman
Dan Aykroyd - Ray Stantz
Harold Ramis - Egon Spengler
Sigourney Weaver - Dana Barrett
Ernie Hudson - Winston Zeddemore
我想做的是让 Actor 的名字成为一个链接...所以,比尔·默里将是一个链接,丹·艾克罗伊德将是一个链接,依此类推。我希望将 Actor 姓名作为搜索变量传递。
这可能吗?
谢谢
编辑 - 2017 年 12 月 8 日
我找到了一种方法来做到这一点......
$data = $acast;
list($actor, $char) = explode("-", $data);
$actorlink = preg_replace('/\s+/', '+', $actor);
echo '<a href=index.php?actor='.$actorlink.'>'.$actor.'</a> - '.$char.'<br>';
这将产生完美的第一行。并从第二行开始,仅包含 Actor 姓名,没有链接,也没有 Angular 色。就像这样。
Main Cast:
Mary Elizabeth Winstead - Michelle
John Goodman
我认为需要一个 foreach 语句,但我不知道如何将其与结果合并。或者将列表结果扩展到 1 以上。我每部电影有 5 个 Actor 。我已经尝试过这个...
list($actor, $char) = explode("-", $data, 2);
这将列出所有 5 位 Actor ,但只有第 1 位有链接。像这样......
Main Cast:
Mary Elizabeth Winstead - Michelle
John Goodman - Howard
John Gallagher Jr. - Emmett
Bradley Cooper - Ben
Douglas M. Griffin - Driver
有什么建议吗? 谢谢
最佳答案
我明白了!!第一关 - 抱歉...我刚刚注意到这是 Javascript,我以为我是在 PHP 下发布的。哎呀......
也就是说...如果有人需要 PHP 解决方案来解决我的问题,我已经找到了。
<?php
//Seperate data into rows.
$c_row = list($all) = explode("\n", $row['Cast']);
//Seperate and list the values from the row.
echo '<ul>';
foreach ($c_row as $cast) {
list($actor, $char) = preg_split("/[-]/", $cast);
if ($char == "") {
$char = "Not Added Yet.";
}
echo "<li><a style='color: #e33e32; font-size: 14px;' href='index.php?actor=" . $actor . "'data-toggle='tooltip' data-placement='auto' title=' List all " . $actor . " movies. '>" . $actor . "</a> : " . $char . " </li>";
}
echo '</ul>';
?>
上面的代码会给我想要的结果。您可以看到它们的实际效果 here 。另请注意,当董事人数超过一名时,我使用了类似的流程来区分董事。
关于javascript - 文本区域输出到页面的特殊格式创建与某些数据的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47293647/