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'])

私はこの最終結果を取得します:

ここに画像の説明を入力してください

しかし、問題がわかります。-行Xのがオレンジではなく黒である

ため、フォーマットが欠落しています -スポイラー内のリンクは2ですが、1つのリンクであるかのように扱われます。 -google.comがなぜですか あなたは2つのリンクを見ることができます:しかし私がhttp://alfa.comをクリックすると、リンクは常に私が欲しいです:-リンクから 削除-1つのリンクを別のリンク(alfa.comとgoogle.com)に分離します- 間違っ た行のフォーマットを修復します これは私のページの完全なコードhttp://pastebin.com/zb22VqwDであり、このcsshttp ://pastebin.com/dFRFURGMです。<th>

http://google.com<br

http://alfa.com
http://google.com
http://google.com<br

<br



4

2 に答える 2

1

まず、1行のphpコードエコーが間違っています(uは閉じませ<a>んでした)。このため、cssは機能しませんでした。

(最初のエコーを削除しました)

次に、タグ内に<a>別のタグを含めることはできないため、上記のコードから全体を削除する必要があります。つまり、次のようになります。<a><a>

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

次に、何らかの理由でurcorrect<br/>を古いバージョンのタグに変更する代わりに<br>、タグを使用して配列を作成します。

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

$str次に、行にエコーします。

コードは次のようになります。

$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'])

最初の行を2番目に、2番目の行を最初に置き換えるだけです。試してみてください...このヘルプを期待してください。

于 2012-10-22T12:51:43.157 に答える