Одинарные кавычки разбивают мои URL

Например, когда я нажимаю URL-адрес ниже

http://mysite.com/?s=Dominos' books

код ниже работает

$param= $_GET['s'];  
$completeurl = 'http://somesite.com/?param1='.trim($param).'&key=987539873';

Итак, одинарная кавычка (') в $param разделяет $completeurl, и я хочу сохранить ' нетронутым.

Хотя я заменил одинарные кавычки (') в $completeurl двойными кавычками ("), это не сработало. Как я могу предотвратить это нежелательное разбиение?


person mcan    schedule 22.09.2012    source источник
comment
ты хочешь сохранить ' нетронутым?   -  person Teena Thomas    schedule 22.09.2012


Ответы (2)


Вам нужно URL-кодировать. " становится %22

$completeurl = 'http://somesite.com/?param1=' . urlencode(trim($param)) . '...';

Смотрите также:

person Brad    schedule 22.09.2012

попробуйте эту строку:

  $completeurl = 'http://somesite.com/?param1='.str_replace(array("'",' '), '', $param).'&key=987539873';

ИЛИ если вы хотите сохранить ' нетронутым

$completeurl = 'http://somesite.com/?param1='.urlencode(trim($param)).'&key=987539873';
person Teena Thomas    schedule 22.09.2012