我正在做一個str_replace()
上有時包含斜線的字符串。這是我str_replace函數有:替換包含斜槓的字符串有時
$text = str_replace('<Reference code="'.$ref['code'].'">','<a href="#" onclick="Ti.App.fireEvent(\'openPage\',{\'code\':\''.$ref['code'].'\'})">',$text);
然而,當$ref['code']
是(例如)M100/3
它不會取代。所以我的問題是,我如何讓替換髮生?
每個沒有反斜槓的值都能正常工作。
還要注意,在某些情況下,str_replace函數是這樣的,所以不僅在一個HTML參數:
$text = str_replace('<Reference>'.(string)$ref.'</Reference>','<a href="#" onclick="Ti.App.fireEvent(\'openPage\',{\'code\':\''.(string)$ref.'\'})">'.(string)$ref.'</a>',$text);
編輯:
我試圖和addslashes(),但它似乎並沒有被工作:
$text = str_replace('<Reference>'.addslashes((string)$ref).'</Reference>','<a href="#" onclick="Ti.App.fireEvent(\'openPage\',{\'code\':\''.(string)$ref.'\'})">'.(string)$ref.'</a>',$text);
問題不在於更換,而是首先需要更換的檢測。現在解決它。沒有addslashes它也可以。 –