Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

PHP Replace script << >>

h4xX0r
13 antwoorden
  • Bij de uitkomst van dit script komt er bij de <a href=""> wel een link uit, maar als ik die in gastenboek.dat zet, en dan maak ik er [[[a href=""]]] van, dan replaces hij hem wel, maar dan komt er te staan: &a href=""& te staan, hoe kan dit opgelost worden?
    Alvast bedankt,
    A.P. Troost[quote:ba76336452]<?php
    $start=(isset($_GET['start'])?$_GET['start']:0);
    $gastenboek=Array();
    $gastenboek=file('gastenboek.dat');
    $amount=15;
    if ($start>0) echo '<A href="?view=overzicht&start='.max(0,$start-$amount).'"><<<</A> ';
    if ($start+$amount<sizeof($gastenboek)) echo ' <A href="?view=overzicht&start='.($start+$amount).'">>>></A>';
    ?>
    </div><HR color="#FF8F2B" align="center"> <div align="center">
    <TABLE width="100%">
    <?
    $gastenboek=array_reverse($gastenboek);
    for ($i=$start;$i<$start+$amount && $i<sizeof($gastenboek);$i++) {
    list($name,$email,$date,$url,$message,$ip)=explode('|||',$gastenboek[$i]);
    $message=str_replace('{{{',"
    ",$message);
    $message=str_replace('[[[',"<",$message);
    $message=str_replace(']]]',">",$message);
    echo '<TR><TD><B>'.($email!=""?'<A href="mailto:'.$email.'">'.$name.'</A>':$name).'</B></TD><TD align="center"><B><A href="'.$url.'" target="_blank">'.$url.'</B></TD><TD align="right"><B>'.$date.'</B></TD></TR>'."
    ";
    echo '<TR><TD colspan="3"><SPAN class="SUR">'.str_replace("
    ",'<BR>',htmlspecialchars($message)).'</SPAN></TD></TR>'."
    ";
    echo '<TR><TD colspan="3"><HR color="#FF8F2B"></TD></TR>'."
    ";
    }
    echo "</table>";
    if ($start>0) echo '<A href="?action=overzicht&start='.max(0,$start-$amount).'"><<<</A> ';
    if ($start+$amount<sizeof($gastenboek)) echo ' <A href="?view=overzicht&start='.($start+$amount).'">>>></A>';
    ?>[/quote:ba76336452]
  • htmlspecialchars($message) says it all…
  • dan blijft hetzelfde er staan, dat had ik namelijk al geprobeerd
  • Nee, je vervangt de [[[, ]]] etc door < en >, en vervolgens doe je een aantal regels later die htmlspecialchars waarmee je dus die < en > voor hun htmlcode representatie vervangt (& gt en & l t of zoiets, maar dan aan elkaar, maar dat pikt het forum hier niet)…
  • [quote:2fcd758492="Bill Gates"]Nee, je vervangt de [[[, ]]] etc door < en >, en vervolgens doe je een aantal regels later die htmlspecialchars waarmee je dus die < en > voor hun htmlcode representatie vervangt (& gt en & l t of zoiets, maar dan aan elkaar, maar dat pikt het forum hier niet)…[/quote:2fcd758492]hmm, ik snap het niet helemaal maar het geen wat ik nu heb gedaan is in gastenboek.dat <> gedaan en geen [[[]]], en htmlspecialchars($message) gedaan, en de str_replace van [[[ naar < en ]]] naar > verwijderd, maar nu staat het er nog steeds niet goed :-?

    kben wel vervelend he :wink:
  • Zolang je je links op deze manier blijft neerzetten en je later die htmlspecialchars uitvoerd blijven die < natuurlijk vervangen worden door die html representatie. Je moet bij het opslaan die htmlspecialchars al gebruiken (en dan dus die links wel vervangen door [[[ ]]] of zo) en bij het uitlezen niet meer. Alleen dan zal het gaan werken…
  • :o :o
    als ik dan in het bestandje al [[[ zet, en ik dat als ik het opsla ook krijg, dan hoef ik htmlspecialchar toch niet te gebruiken?
  • Even een wedervraag: waarom gebruik je htmlspecialchar?
  • ik hoef het niet te gebruiken, jij begon erover in de 2e reactie 8)
    ik had het alleen eerst geprobeerd omdat ik het op php.net had gevonden
  • [quote:e134946f5e="ap.troost"]ik hoef het niet te gebruiken, jij begon erover in de 2e reactie[/quote:e134946f5e]Omdat jij het in je script gebruikt…
  • ja dat klopt, maar dat was eigenlijk meer om het te proberen, eigenlijk er niet meer uitgehaald :-? …

    kan het ook anders dan??
  • [quote:f7ee881359="ap.troost"]kan het ook anders dan??[/quote:f7ee881359]Dat heb ik hierboven al verteld…
  • ja en dat heb ik ook geprobeerd, maar elke keer blijft "& l t ;" en "& g t ;" er staan, ook als ik hem vanaf het begin inschrijf met htmlspecialchar(), maar dan komt er in het bestandje [[[a href="/index2.php/"]]]
    En als ik hem dan uitlees uiteindelijk zonder htmlspecialchar() dan staat er in die source & l t ;img src=& quot ;
    egular_smile.gif/& quot ;& gt ;

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.