PHP / MySQL - URL'leri özel karakterler.

2 Cevap php

Benim veritabanı harici bir besleme ekstre bilgileri içerir. Bu ham metin yemlerde, aşağıdaki metin özel karakterler yerine kullanılır:

& - &
' - &39;
é - é

URL'leri oluşturmak için bu metnin bazı ayıklayın. Örneğin, ben bu karakterleri içeren verilerden inşa URL bu gibi görünebilir:

http://url.com/search/?brand=Franklin&Hédgson's

Belirli sorunları birkaç yol daha aramalarını, oluşturmak için bu URL GET değişkenleri kullanın:

  1. é ve ' göründükleri gibi karakterler geri MySQL gönderilir ve (karakterler veritabanı metinde tam HTML formu alır çünkü) bu yüzden herhangi bir sonuç tetikleyebilir yok.

  2. & URL içinde değişken ayırır ve GET döner sadece Franklin, bu bütün dize dönmelidir zaman.

Bu ile ilgili herhangi bir basit bir yolu var mı?

Teşekkürler.

2 Cevap

Çünkü o bir '&' Bir URL içinde yeni bir GET değişken başlar. '?' ile sorgu dize 2 o öğeleri, 'marka' = "Franklin" ve tanımsız = "Hédgson en" vardır başlar.

İşte bu karakterlerden herhangi (tabii, bir değeri içindeki) URL'nizdeki görünür ne zaman kullanmanız gereken bir list of URL escape codes olmasıdır. Yani, '&' GET düzgün okuyacak böylece dize koymak zaman ',% 26' kaçtı gerekmektedir.

Sen marka kodlamak gerekir = Franklin & Hédgson en php kullanımı urlencode ile bağlantı üreten ise, bağlantı oluşturmadan önce http://php.net/manual/en/function.urlencode.php

Sonra bir sorguda mysql için onu göndermeden önce sorguyu kodlamak için htmlentitiesi kullanabilirsiniz http://www.php.net/manual/en/function.htmlentities.php