[英]php regex to replace 'any' slashes in a path with directory separator
我正在嘗試采用這樣的路徑:
一些/路徑/這里一些\\其他\\路徑
並用 PHP 的 DIRECTORY_SEPARATOR 內置常量替換路徑中的每個斜杠
我有這個:
$subject = '/asdf';
$var = preg_replace('#\\\\#', DS, $subject);
print $var;
但這並不能取代,它只會增加。
謝謝你的幫助。
與其使用preg_replace
,為什么不直接使用str_replace
呢?
$var = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $subject);
因為你有 2 條斜線嘗試#\\\\#
如果您沒有明確需要正則表達式,那么方法如下:
$string = "some/path/here some\other\path";
$ds = DIRECTORY_SEPARATOR;
$result = str_replace(array("/","\\"),$ds,$string);
echo $result;
輸出:一些/路徑/這里一些/其他/路徑
它應該替換,而不是添加。 但是試試這個:
preg_replace('/[\\]/', DS, $subject);
也應該工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.