[PHP] & niet in & veranderen?

Pagina: 1
Acties:

  • Sequence
  • Registratie: Maart 2000
  • Laatst online: 27-05-2024

Sequence

Online marketing

Topicstarter
PHP:
1
2
3
4
5
6
<?
for ($i = 1; $i <= 200; $i++){
        
        $teamsitenaam[$i] = urlencode($team[$i]);
        print "<a href=$teamurl$teamsitenaam[$i]>$team[$i]</a>"."<br>";
?>

op dit moment wordt in $teamsitenaam[$i] een & omgezet in &
dit is echter niet de bedoeling.. hoe zorg ik ervoor dat dat niet gebeurd? dus hoe zorg ik dat urlencode alles doet wat ie moet doen behalve '&' veranderen?

Verwijderd

'handmatig' replacen:
str_replace gebruiken dus,
wat dan makkelijker is, is om &amp, te replacen naar &.

  • johnny7
  • Registratie: November 2000
  • Laatst online: 07-11-2023
str_replace("&amp","&",$teamsitenaam[$i]) zal wel kunnen werken. Gevonden op php.net *D

  • Sequence
  • Registratie: Maart 2000
  • Laatst online: 27-05-2024

Sequence

Online marketing

Topicstarter
PHP:
1
2
3
4
5
6
7
<?
for ($i = 1; $i <= 200; $i++){
        
        $teamsitenaam[$i] = urlencode($team[$i]);
        $teamsitenaam[$i] = str_replace("&amp;amp","&amp;",$teamsitenaam[$i]);
        print "<a href=$teamurl$teamsitenaam[$i]>$team[$i]</a>"."<br>";
?>

werkt dus nie, ik krijg dan een url als http://setiathome.ssl.berkeley.edu/cgi-bin/cgi?cmd=team_lookup&name=Texas+A%26amp%3BM+University uit een $team[$i] als Texas A&M University

Verwijderd

En als je de & escaped dmv van een \??? Misschien dat het dan wel werkt??

  • Sequence
  • Registratie: Maart 2000
  • Laatst online: 27-05-2024

Sequence

Online marketing

Topicstarter
escapen verandert niks..

  • JoostBaksteen
  • Registratie: December 2000
  • Laatst online: 27-03 19:32
PHP:
1
2
3
<?
$string = str_replace("&amp;amp;", "&amp;", $string);
?>

Verwijderd

doe eens voor het stukje code wat je hier hebt staan:
PHP:
1
2
3
<?
echo $team[$i];
?>

En zet hier eens wat er op het scherm verschijnt

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

ulrencode veranderd de & niet in & ...

Ergens daarvoor zal er dan wel een htmlspecialchars of htmlentities geweest zijn?

urlencode maakt er %26 van :)

  • Sequence
  • Registratie: Maart 2000
  • Laatst online: 27-05-2024

Sequence

Online marketing

Topicstarter
code:
1
2
<a href=http://setiathome.ssl.berkeley.edu/cgi-bin/cgi?
cmd=team_lookup&name=Texas+A%26amp%3BM+University>Texas A&amp;M University</a><br>

op deze manier ontstaat er dus een link naar http://setiathome.ssl.berkeley.edu/cgi-bin/cgi?cmd=team_lookup&name=Texas+A&M+University terwijl dat http://setiathome.ssl.berkeley.edu/cgi-bin/cgi?cmd=team_lookup&name=Texas+A%26M+University moet zijn..

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

PHP:
1
2
3
4
5
<?
for ($i = 1; $i <= 200; $i++){
        $teamsitenaam[$i] = str_replace("&amp;amp;","&amp;",$team[$i]);
        $teamsitenaam[$i] = urlencode($teamsitenaam[$i]);
?>

En zo? Overigens moet je je niet in de luren laten leggen door wat je browser toont, maar wel in de source kijken wat het output :)

  • Sequence
  • Registratie: Maart 2000
  • Laatst online: 27-05-2024

Sequence

Online marketing

Topicstarter
Op maandag 28 januari 2002 19:26 schreef ACM het volgende:
ulrencode veranderd de & niet in & ...

Ergens daarvoor zal er dan wel een htmlspecialchars of htmlentities geweest zijn?

urlencode maakt er %26 van :)
klopt
PHP:
1
2
3
<?
$teamsitenaam[$i] = str_replace("%26amp%3B;","%26",$teamsitenaam[$i]);
?>

werkt ook niet, maar zoiets moet het wel zijn om die amp%3B uit de link te krijgen...

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 28 januari 2002 19:36 schreef Sequence het volgende:
PHP:
1
2
3
<?
$teamsitenaam[$i] = str_replace("%26amp%3B;","%26",$teamsitenaam[$i]);
?>

werkt ook niet, maar zoiets moet het wel zijn om die amp; uit de link te krijgen...
Waar is die %3B voor? :)
[edit]
Dat is natuurlijk de ';' die moet je dan niet meer in je str_replace gebruiken lijkt me :)
[edit2]
Moet dus iets als: str_replace("%26amp%3B", "%26", ...)

Worden, overigens is het volgende probleemteken vermoed ik iets als '>', wederom vanwege die eerdere htmlspecialchars/htmlentities.

  • Sequence
  • Registratie: Maart 2000
  • Laatst online: 27-05-2024

Sequence

Online marketing

Topicstarter
PHP:
1
2
3
<?
$teamsitenaam[$i] = str_replace("%26amp%3B","%26",$teamsitenaam[$i]);
?>

werkt! :)
nu nog kijken hoe dat op te lossen als er andere tekens worden omgezet...
Pagina: 1