Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Crios
Зарегистрирован: 11.06.2004 Сообщения: 85
|
Добавлено: Вс Июн 13 2004 06:29 Заголовок сообщения: Кавычки (") в php |
|
|
Народ такая тема - поработал на основе php-nuke отредактировал сайт как мне надо, все путем. НО! выложил на сервер а он давай мне все кавычки ",' отзеркалил слышем. То есть вместо скажем at count's place, я получил at conut\'s place и так во всех текстах даже в титуле. Админ сервера говорил что-то про magic quotes. Но млин мне-то что делать??? подскажите плиззззз _________________ прежде чем сказать - подумай! |
|
Вернуться к началу |
|
|
ЛиАна Гость
|
Добавлено: Пн Июн 14 2004 16:39 Заголовок сообщения: |
|
|
пример как менять символ со слэшем на обычный
$msg = str_replace("\"", """, $msg); |
|
Вернуться к началу |
|
|
Crios
Зарегистрирован: 11.06.2004 Сообщения: 85
|
Добавлено: Пн Июн 14 2004 19:34 Заголовок сообщения: |
|
|
2 ЛиАна
куда это вклеивать - в любую часть скрипта или в хедер? _________________ прежде чем сказать - подумай! |
|
Вернуться к началу |
|
|
ЛиАна Гость
|
Добавлено: Вт Июн 15 2004 08:40 Заголовок сообщения: |
|
|
вообще-то это делается при инициализации переменных, естественно в скрипте - при чем тут header...
это используется при приеме данных из форм.
точнее скажи как у тебя страницы генерируются. |
|
Вернуться к началу |
|
|
Kelvin Гость
|
Добавлено: Чт Июл 01 2004 09:59 Заголовок сообщения: |
|
|
Тоже с такой проблемой мучались с месяц. Вот что нашли.
1)Замена всех непечатных символов( слэш, кавычки , перенос строки) настраивается в Apache.
2) Если настройка не доступна, а перебирать каждую переменную лень, то пишешь функцию, которая все входящие от клиента переменные изменяет нужным образом. Типа (сырой вариант, но можно подработать):
<?php
function ConvertAll(){
global $HTTP_POST_VARS,$HTTP_GET_VARS;
ConvertVar($HTTP_POST_VARS,'');
ConvertVar($HTTP_GET_VARS,'');
}
function ConvertVar($vs,$s){
foreach($vs as $key=>$row){
if(is_array($row)) {
$row=ConvertVar($row,$key);
// $GLOBALS[$key]=$row;
}
else{
$prob=$row;
$prob=eregi_replace("\n",'<br>',$prob);
$descr=explode("\\\"",$prob);
$prob=implode("'",$descr);
unset($descr);
$descr=explode("\\'",$prob);
$prob=implode("'",$descr);
unset($descr);
$descr=explode("\\\\",$prob);//"
$prob=implode("\\",$descr);//"
unset($descr);
if($s!=''){
$GLOBALS[$s][$key]=$prob;
// echo "<div>$s::$key:: с√ыю=$row ёЄрыю=$prob Globals=".$GLOBALS[$s][$key]."</div><br>";
}
else{
$GLOBALS[$key]=$prob;
// echo "<div>$s::$key:: с√ыю=$row ёЄрыю=$prob Globals=".$GLOBALS[$key]."</div><br>";
}
$row=$prob;
}
}
return $vs;
}
function ShowVars($vars){
$cnt=count($vars);
foreach($vars as $key=>$row){
if(is_array($row))
$row=ConvertVar($row);
else{
echo "<div>$key:::: $row </div><br>";
$row=$prob;
}
}
return $vars;
}
function Convert($txt){
global $type;
// if($type!='double'){
$prob=$txt;
$prob=eregi_replace("\n",'<br>',$prob);
$descr=explode("\\\"",$txt);
$prob=implode("'",$descr);
unset($descr);
$descr=explode("\\'",$prob);
$prob=implode("'",$descr);
unset($descr);
$descr=explode("\\\\",$prob);//"
$prob=implode("\\",$descr);//"
unset($descr);
return $prob;/*
}
else
return $txt; */
}
function AConvert($txt){
$prob=$txt;
$prob=eregi_replace('<br>',"\n",$prob);
return $prob;
}
?> |
|
Вернуться к началу |
|
|
Kinard
Зарегистрирован: 11.05.2004 Сообщения: 132 Откуда: Ленинградская обл. пос. Ульяновка
|
Добавлено: Чт Июл 01 2004 11:24 Заголовок сообщения: |
|
|
Цитата: | Тоже с такой проблемой мучались с месяц. Вот что нашли.
1)Замена всех непечатных символов( слэш, кавычки , перенос строки) настраивается в Apache. |
У меня по этому поводу такой вопрос. Вчера дома мучался с кодировкой:
1. Ищем файлы в папке
2. Выводим список файлов на экран
3. Создаём ссылки к этим файлам.
Так вот в 1 и 2 и 3 - русские символы отображаются нормально. Но при переходе по ссылкам - файлы с русскими бувками в пути(или названии) не находятся. Если ручками пройти путь, то в броузере русские буквы в адресной строке отображаются типа %fe
Выход нашёл - при создании ссылки провожу обратную конвертацию
такого типа $post=str_replace("Ы","%fe",$post) и по этому бреду броузер переходит на необходимый файл.
Мне почему-то кажется, что можно просто настроить Apache... Не подскажите, где именно? Я ковырял - не нашёл... |
|
Вернуться к началу |
|
|
|