str_replace

Статус
В этой теме нельзя размещать новые ответы.

finogeev

Новичок
str_replace

Пытаюсь заменить в строке, которую вставляю в mysql - кавычки (") на высящию запятую (') !!!
PHP:
$str_format = str_replace(""", "'", "$string_format");
сам текст вставляется нормально и замена происходит, а вот html теги встявляет без замены.

Пример:
вставляю: <p class="text">Проверка вставки &quot;текста&quot;.</p>
в базе: <p class="text">Проверка вставки 'текста'.</p>

Как мне произвести замену в тегах ?
 

finogeev

Новичок
ну да ... в самом тексте все заменят а вот html тэгах не меняет ...
А разве это не одно и тоже ?
 

baev

‹°°¬•
Команда форума
Вам. нужно. поменять. в Вашем коде.
&quot на символ кавычки

Так понятнее?
 

finogeev

Новичок
Да это то понятно !!!
Но я именно &quot и писал ... потому что не знаю как правильно оформить str_replace с простой кавычкой
 

Фанат

oncle terrible
Команда форума
с простой кавычкой надо писать ПРОСТУЮ КАВЫЧКУ

но самое смешное - в строках, которые ты вставляешь в mysql, НИЧЕГО ЗАМЕНЯТЬ НЕ НАДО
 

finogeev

Новичок
Спасибо за ответ ....
Но может всетаки просто направите меня в нужную сторону, если можно в mysql это делать ... то какой функцией
 

finogeev

Новичок
вообщем не чего я так и не понял. Злые вы какие то ...
Пошел дальше кавыряться ....

Так я и непонял как мне написать правильно тут
вместо &quot кавычки

$str_format = str_replace("&quot;", "'", "$string_format");

$str_format = str_replace(", "'", "$string_format");
$str_format = str_replace("\"", "'", "$string_format");

синтаксис непонятен
 

finogeev

Новичок
Дело в том что у меня далее идет:
eval("\$str_format = \"$str_format\";");

и при присутствии кавычек выдает ошибку
eval()'d code
 

Фанат

oncle terrible
Команда форума
finogeev
злой ты себе сам.
вместо того, чтобы внятнло отвечать на вопросы - лепечешь себе что-то под нос.

Синтаксис СТРОК великолепно описан в мануале по пхп.

однако чем быстрее ты поймёшь, что НИЧЕГО ЗАМЕНЧТЬ НЕ НАДО, тем лучше будет для тебя самого и тем быстрее ты перестанешь выглядешь дураком в глазах окружающих

-~{}~ 26.03.07 17:01:

о господи.
а eval-то тебе зачем понадобился?
и при чём здесь mysql?
 

finogeev

Новичок
Знал что не надо говорить о eval :-(
В базе храняться переменные ...
И при вставке что бы они были как переменные, а ни как текст ...

Да согласен, не правильно, но код сделан не мною, и я просто его дописываю и корректирую.
 

Фанат

oncle terrible
Команда форума
ну и какое отношение "что бы они были как переменные" имеет к кавычкам?

-~{}~ 26.03.07 17:13:

если у тебя проблемы с eval - решай проблемы с eval.
но если у тебя проблемы с БАЗОЙ - то при чем тут eval?

Ты вообще, сам-то понимаешь, что делаешь? Похоже, что нет
 

finogeev

Новичок
Да нет вообщем полностью опишу ...

Пользователь может формировать тип отчета, путем перестановки определенных переменных.
И в базу вставляются строки типа:

<p class="text">Проверка вставки текста. Отчет о $var1 и т.п.</p>

Так вот при вытаскивании переменной (через eval) при наличии кавычек во всей строке - есть ошибка !!! Поэтому и пытаюсь перед вставкой мускул заменить все двойные кавчки на одинарные.

Вот и попросил помощи с str_replace
 

Фанат

oncle terrible
Команда форума
прости, я не понял логики.
оставим пока в стороне вопрос, к чему ты все время приплетаешь базу данных.

но не мог бы ты пояснить - а чего ты решил, что замена кавычек тебе поможет с eval?!
 

finogeev

Новичок
Ну потому что уже за целый день капания и своих психов выяснил что при наличии в строке кавычек, выдает ошибку

eval()'d code
 

Фанат

oncle terrible
Команда форума
а приприсутствии одинарных кавычек - не выдаёт?
а обрабатывается так, как надо?
а ты проверил?
а почему побежал на форум с вопросами, не проверив?
почему задаёшь вопросы про mysql, если у тебя проблема с eval?

в общем, лучше всего для тебя будет, если ты переделаешь эту "чужую" систему составления отчетов.
eval тебе не победить.
 

hermit_refined

Отшельник
finogeev
чего-то я не понял.
если кавычек не будет, то
PHP:
eval('<p class="text">Проверка вставки текста. Отчет о $var1 и т.п.</p>');
пройдет на ура?..

вообще, вам кажется 440hz в прошлой теме уже сказал решение - заменять всякие {var1} на значения соответствующих переменных.
([m]str_replace[/m], [m]preg_replace_callback[/m], etc.)
чего самодеятельностью занимаетесь?..
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху