,我想用ES/ES更換恩/我們:PHP:就想換成 '\ /' 從字符串
<?php
$str = array('url'=>'www.domain.com\/data\/en\/us\/data.gif');
$json = json_encode($str);
$str = str_replace('en\/us', 'es\/es', $json);
echo $str;
,我想用ES/ES更換恩/我們:PHP:就想換成 '\ /' 從字符串
<?php
$str = array('url'=>'www.domain.com\/data\/en\/us\/data.gif');
$json = json_encode($str);
$str = str_replace('en\/us', 'es\/es', $json);
echo $str;
你需要 '雙逃逸' 反斜槓,像這樣:
<?php
$str = array('url'=>'www.domain.com/data/en/us/data.gif');
$json = json_encode($str);
$str = str_replace('en\\/us', 'es\\/es', $json);
echo $str;
請參閱http://php.net/manual/en/language.types.string.php(「單引號」部分)。
在將它提供給json_encode之前,會更容易將字符串轉義出來,但我假設這是一個測試用例,並且您要替換的數據已經是JSON。
JSON是一種用於在系統間移動數據的有用格式。將數據轉換爲JSON,然後試圖在不首先解析它的情況下操作它幾乎總是一個可怕的(過於複雜且容易出錯的)想法。
在之前進行替換將其轉換爲JSON。
<?php
function replace_country($value) {
echo $value;
echo "\n";
return str_replace('en\/us', 'es\/es', $value);
}
$str = array('url'=>'www.domain.com\/data\/en\/us\/data.gif');
$str = array_map("replace_country", $str);
$json = json_encode($str);
echo $json;
將其替換爲jeson_encode。 – vaso123
爲什麼你在原始'$ str ['url']'中放置反斜槓?你爲什麼首先執行'json_encode'? –
是因爲斜線後來編碼。 – Nicolas