我有一个$ delete路径,$ user_id分别包含字符串中的'#'和'@'。如何用编码值%23和$ 40替换每个。
我累了使用str_replace但没有运气:
str_replace($string, array('@', '#'), array('%40', '%23'));
我的完整删除路径如下所示:
$delete = "http://admin:12345@192.168.245.133/@api/deki/DELETE:users/$user_id/properties/%s";
我觉得$ user_id应该非常简单。对于属性,它必须循环以获取所有可用属性。你可以看到下面的循环:
foreach($xml->property as $property) {
$name = $property['name']; // the name is stored in the attribute
curl_fetch(sprintf($delete, $name),'admin','12345');
}
每个属性都包含一个'#',那么有没有一种方法可以将每个迭代修改为'#'为适当的值?
提前致谢。
答案 0 :(得分:0)
您错误地使用str_replace
:第一个参数是搜索,第二个替换和第三个主题:
混合 str_replace (混合 $ search ,混合 $ replace ,混合 $ subject [,int & $ count ])
所以:
str_replace(array('@', '#'), array('%40', '%23'), $string)