如何逃脱特殊字符'\'?

时间:2012-02-14 14:02:59

标签: php ajax codeigniter

我使用php来从表和ajax中检索数据以显示结果。

当我第一次使用位置搜索时,我得到结果并且分页不起作用,特别是对于“istanbul”。

原因是特殊字符'\'添加了从Google地图中获取的地址。

我转到下一页时传递的网址是

http://www.mysite.com/dropinn/search/\"http://www.mysite.com/dropinn/search?checkin=mm%2Fdd%2Fyy&checkout=mm%2Fdd%2Fyy&guests=1&location=Istanbul%2C+Turkey&min_bathrooms=0&min_bedrooms=0&min_beds=0&per_page=10&search_view=1&sort=1&page=3"

如何解决这个问题?

这是我写的代码:

$config['base_url']   = site_url('search').'?checkin='.urlencode($checkin).'&checkout='.urlencode($checkout).'&guests='.$nof_guest.'&location='.urlencode($location).'&min_bathrooms='.$min_bathrooms.'&min_bedrooms='.$min_bedrooms.'&min_beds='.$min_beds.'&per_page='.$per_page.'&search_view=1&sort='.$sort;

2 个答案:

答案 0 :(得分:1)

使用双引号,您可以使用其他\转义\。如果您需要显示\,则必须输入\\,否则您可以使用单引号。

示例:echo "\hello\world";需要echo "\\hello\\world";echo '\hello\world';

答案 1 :(得分:0)

要在php中转义,必须使用\\

试试这个:

http://www.mysite.com/dropinn/search/\"http://www.mysite.com/dropinn/search?checkin=mm%2Fdd%2Fyy&checkout=mm%2Fdd%2Fyy&guests=1&location=Istanbul%2C+Turkey&min_bathrooms=0&min_bedrooms=0&min_beds=0&per_page=10&search_view=1&sort=1&page=3\"

或者这个:

http://www.mysite.com/dropinn/search/\\"http://www.mysite.com/dropinn/search?checkin=mm%2Fdd%2Fyy&checkout=mm%2Fdd%2Fyy&guests=1&location=Istanbul%2C+Turkey&min_bathrooms=0&min_bedrooms=0&min_beds=0&per_page=10&search_view=1&sort=1&page=3\"

或者最后:

http://www.mysite.com/dropinn/search/\\"http://www.mysite.com/dropinn/search?checkin=mm%2Fdd%2Fyy&checkout=mm%2Fdd%2Fyy&guests=1&location=Istanbul%2C+Turkey&min_bathrooms=0&min_bedrooms=0&min_beds=0&per_page=10&search_view=1&sort=1&page=3\\"

如果没有看到更多代码,您的问题会有点混乱,但这些代码应该可行。