1

我有一个带有 html 表的结果 php 页面。里面row[3]剧透。如果我点击一个文本值,我可以看到隐藏的内容。
在隐藏的内容中,我在不同的行上有链接
要做到这一点:
- 我在 mysql textarea 中插入文本,所以: - 然后我在部分

在此处输入图像描述
中添加 javascript 代码<head>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
   <script type="text/javascript">
$(function() {
        $(".spoiler-label").click(function() {
        $(this).parent().find(".spoiler-content").toggle();
    });
    });
</script>

- 然后是 php 代码:

echo '<td><span class="spoiler-label">'.$row[1].'</span><div class="spoiler-content" style="display: none"><br><a href='.$row[3].'<a/></div><td>';

- 要打破新行中的文本,我使用以下 php 代码:

    $row['3']=stripslashes($row['3']);
    $row['3']=str_replace('<br />',"newline",$row['3']);
    $row['3']=htmlentities($row['3']);
    $row['3']=str_replace('newline',"<br>",$row['3'])

我得到了这个最终结果:

在此处输入图像描述

但您可以看到问题:

- 格式丢失,因为<th>X 行是黑色而不是橙色
- 扰流板内的链接是 2,但被视为一个链接。
- 我没有正确链接,因为google.comhttp://google.com<brWHY?
您可以看到 2 个链接:
http://alfa.com
http://google.com
但是如果我单击http://alfa.com,则该链接始终是http://google.com<br
我想要的:-从链接中删除-将 一个链接分隔为不同的链接(alfa.com 和 google.com)
- 修复不正确的行格式 这是我的页面完整代码http://pastebin.com/zb22VqwD和这个 css http://pastebin.com/dFRFURGM<br



4

2 回答 2

1

first off, your 1 line php code echo is wrong (u didnt close <a>). The css didnt work because of this.

(i removed the first echo)

second, an <a> tag cannot have another <a> tag inside it, so you should just remove the whole <a> from your code above, meaning it should be:

echo '<td><span class="spoiler-label">'.$row[1].'</span><div class="spoiler-content" style="display: none"><br>'.$row[3].'</div><td>';

then, when instead of for some reason changing ur correct <br/>'s into the old version <br> tag, use the tag to create an array:

$ary=explode('<br />',$row['3']);
$str="";
foreach($ary as $str2){
$str.="<a href=\"$str2\">$str2</a><br/>";
}

and then echo $str into the row,

Your code should be:

$row['3']=str_replace('<br />',"newline",$row['3']);
$row['3']=stripslashes($row['3']);
$row['3']=htmlentities($row['3']);
$ary=explode('newline',$row['3']);
$str="";
foreach($ary as $str2){
    $str.="<a href=\"$str2\">$str2</a><br/>";
    //$str.="$str2<br/>";
}
$row['3']=$str;
于 2012-10-22T12:54:43.250 回答
0

您正在使用以下代码:

$row['3']=stripslashes($row['3']);
$row['3']=str_replace('<br />',"newline",$row['3']);
$row['3']=htmlentities($row['3']);
$row['3']=str_replace('newline',"<br>",$row['3'])

而不是上面的代码使用下面:

$row['3']=str_replace('<br />',"newline",$row['3']);
$row['3']=stripslashes($row['3']);
$row['3']=htmlentities($row['3']);
$row['3']=str_replace('newline',"<br>",$row['3'])

只需将第一行替换为第二行,将第二行替换为第一行..尝试...希望这有帮助..

于 2012-10-22T12:51:43.157 回答