2011-08-23 5 views
0

Pouvez-vous s'il vous plaît me dire comment utiliser urlencode dans un lien hypertexte. J'ai une base de données mysql et enregistre les requêtes des utilisateurs. Ces requêtes seront montrées dans mon site Web et je veux quand un autre utilisateur cliquera sur cet hyperlien il ira à la recherche de google. Parce que ces requêtes contient l'espace, je lis en net qu'utilisant urlencode convertira cet espace en 20.Below est mon code.Comment utiliser urlencode dans un lien hypertexte utilisant phpmysql

echo("<br><a target=_blank href=www.google.com/search?q=urlencode($link[link]) class=z>$link[link]</a>"); 

Ce code a deux problèmes

  1. Il ouvrira une continuation de mon site. au lieu de www.google.com/search?q=query, ouvre comme www.mysite.com/www.google.com/search?q=query

  2. Parce que j'ajouté urlencode dans $link[link] l'ouverture du site est www.mysite.com/www.google.com/search?q=urlencode(query).

urlencode va également dans le terme de recherche.

Répondre

1

supprimer l'appel de la chaîne et concaténer le résultat, que devrait le faire

echo("<br><a target=_blank href='www.google.com/search?q=".urlencode($link[link])."' class=z>$link[link]</a>"); 

modifier, j'ai ajouté quelques citations autour de l'url et

+0

merci pour votre réponse .. il fonctionne – test

1

Vous devez faire l'attribut href contenant une URL absolue pour résoudre # 1 et de briser la chaîne et utiliser la concaténation pour obtenir l'URL urlencoded pour résoudre le problème # 2:

echo("<br><a target=_blank href='http://www.google.com/search?q=" . urlencode($link[link]) . "' class=z>{$link['link']}</a>"); 
  • Troisièmement: vous devez utiliser des parenthèses lorsque vous utilisez un tableau en interpolation de chaîne
  • Quatrième: vous devez utiliser des guillemets pour entourer les clés du tableau pour éviter les avis

Les éléments suivants deviennent:

class=z>$link[link]</a>  # this is wrong 
class=z>{$link['link']}</a> # should be this 

http://php.net/manual/en/language.types.string.php

+0

hey fabio merci pour la réponse..votre solution fonctionne – test

Questions connexes