Как кодировать только 2 символа в пути? - PullRequest
0 голосов
/ 02 октября 2010

У меня есть $ delete path и $ 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";

Мне кажется, чтобыть довольно простымДля свойств он должен пройти через все доступные свойства.Вы можете увидеть цикл ниже:

foreach($xml->property as $property) {
      $name = $property['name']; // the name is stored in the attribute
      curl_fetch(sprintf($delete, $name),'admin','12345');
    }

Каждое свойство содержит '#', так есть ли способ, чтобы каждая итерация изменяла '#', чтобы быть соответствующим значением?

Спасибозаранее.

1 Ответ

0 голосов
/ 02 октября 2010

Вы неправильно используете str_replace: первый параметр - search , второй заменяет и третий subject :

смешанный str_replace (смешанный $ search , смешанный $ replace , смешанный $ subject [, int & $ count ])

Итак:

str_replace(array('@', '#'), array('%40', '%23'), $string)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...