2013-09-04 4 views
0

Мне нужно заменить \" из изображения src.Нужно удалить "из изображения src в php

У меня есть одна форма, и я использую редактор FCK для детали и, когда я загрузить изображение и отправить форму, то после того, как я получаю ниже значения в пост

<img scr="\"http://test.in/public/admin/uploadfiles/Lighthouse(2).jpg\""> 

Поэтому мне нужно удалить \" from starting and \" from end так его дисплей правильно мне. Я также пробовал ltrim() and strreplace(), но когда я положил некоторые другие вещи, то он заменил каждое место так, чтобы i need to replace it only in img scr must start and end \" only

Любые причины для этого. Я думаю, что это возможно, используя регулярное выражение, но у меня недостаточно знаний для него.

Прошу предложить мне любую идею.

+0

Вместо хакерское исправление, почему бы не решить проблему в ее ядре? Что действительно вызывает проблему? –

ответ

3

Отключите magic_quotes в вашем php config, а затем отредактируйте весь текст, где эта ошибка возникает, чтобы исправить.

1

Изменить настройку php.ini magic_quotes_gpc = Off. Если вы не можете этого сделать, используйте ini_set в самом PHP-коде. Если вы не можете сделать , что, используйте stripslashes на значении $_POST, которое вы получаете.

+0

Я пытаюсь найти это ** magic_quotes_gpc ** в cpanel, но не получаю, можете ли вы предложить мне, где это в cpanel – Jalpesh

+0

@Jalpesh У вас есть доступ к файлу php.ini? –

0

Я думаю, что этот вопрос можно решить, просто используя StripSlashes().

+0

, но это приведет к потере косой черты повсюду - не только ведущие и конечные –

+0

, почему бы вам понадобиться обратная косая черта на пути к загруженному изображению? – XaxD

+0

Я не знаю, но OP специально сказал, что это проблема: «Но когда я добавляю какие-то другие вещи, то он заменяет каждое место, поэтому мне нужно его заменить только в img scr, должен начинаться и заканчиваться« только » –

0

с использованием регулярных выражений, вы можете сделать это следующим: удалить первый \», используйте

preg_replace('/<img scr=\"\\\/', '<img scr=', $your_string); 

, а затем заменить вторую часть с

preg_replace('/\\\\"\">/', '">', $your_string); 
1

Я согласен с тем, что @Lee говорит, однако, если вам нужно сделать это через регулярное выражение. Это должно сделать это.

<?php 
    $pattern = '/\\\"/'; 
    $replacement = ''; 
    $subject = '<img scr="\"http://test.in/public/admin/uploadfiles/Lighthouse(2).jpg\"">'; 
    $result = preg_replace ($pattern, $replacement, $subject); 
?> 
+1

, то есть синтаксическая ошибка. Вам нужно $ replace = ''; –