Вход

Просмотр полной версии : Строки - обратный слэш


Илья К
04.12.2005, 18:05
Всем приветы!
$from = "\\";
$to = "/";
$str "Z:\home\www\test\files";
str_replace($from, $to, $str);Выдает Z:/home/www est/files -- то есть работает не с обратной косой чертой, а с \t и выдает пробел.
Вопрос: есть ли в ПХП стандартная функция, заставляющая скрипт обращаться с символами в определенных цепочках символов (например с \n или \t) как с "обычными", короче говоря, чтобы ПХП не обраьатывал / не распознавал эскейп-последовательности?

Antoine
04.12.2005, 20:15
Используй одинарные ковычки (и вообще лучше двойные не использовать нигде если не надо)

<?php
$from = '\\';
$to = '/';
$str = 'Z:\home\www\test\files';
str_replace($from, $to, $str);
echo $str;
?>

Илья К
04.12.2005, 20:22
Спасибо!
Почему, собственно, с одинарными проходит, а с двойными нет?

Antoine
05.12.2005, 01:38
Потому, что интерпретатор PHP анализирует всё что находится в двойныз кавычуах на наличие переменных, escape последовательгостей и т.д., а если применяются одинарные то просто воспринимаются как строка, что собственно говоря тебе и надо. Двойные кавычки НЕжелательно использовать если ты конечно хочешь получить оптимизированный код (кроме тех случаев где без них не обойтись естественно).
P.S. Ты сдесь столько и таких вопросов поназадовал, что тебе прямиком на
www.php.net