sotvm
@sotvm
Умный поймёт, а дураку и так всё равно.

Не получается с заменой в preg_replace()?

Подскажите пожалуйста ,интересуют вот эти строки
$span = "\$2" ;
$span = preg_replace('\\"','"',$span);

в переменной \$2 содержится строка и там двойные кавычки " экранированы обратным слешем \
вот его то я и не могу убрать ,т.е. нужно заменить \" на "
for ($page = 1; $page < $repeat; $page++){
$timeline = file_get_contents('http://coub.com/api/v2/timeline/channel/'.$channel.'?page='.$page.'&per_page='.$per_page.'?order_by='.$order_by) ; 
$regexp = '/"Coub::Simple","permalink":"(.+?)","title":"(.+?)","visibility_type":.+?"image_versions":\{"template":"(.+?)[%].+?version\}(.+?)"/';
preg_match_all($regexp, $timeline, $matches);
foreach ($matches[0] as $value) {
$span = "\$2" ;
$span = preg_replace('\\"','"',$span);
$replacement = "<div class='coub' onmouseover='showName(this);'><a href='//coub.com/view/\\${1}1'  onclick='return frame(this);'><img src='\$3small\$4' >\$2</a><span>$span</span></div>";
$replacement = preg_replace($regexp, $replacement, $value) ;
echo $replacement;
}
}
  • Вопрос задан
  • 178 просмотров
Решения вопроса 1
sotvm
@sotvm Автор вопроса
Умный поймёт, а дураку и так всё равно.
сделал так echo preg_replace("~\\\\\"~", "\"", $echo) ;
for ($page = 1; $page < $repeat; $page++){
$timeline = file_get_contents('http://coub.com/api/v2/timeline/channel/'.$channel.'?page='.$page.'&per_page='.$per_page.'?order_by='.$order_by) ; 
$regexp = '/"Coub::Simple","permalink":"(.+?)","title":"(.+?)","visibility_type":.+?"image_versions":\{"template":"(.+?)[%].+?version\}(.+?)"/';
preg_match_all($regexp, $timeline, $matches);
foreach ($matches[0] as $value) {
$span =  '$2'; //  "\"Вот она плять ,где заковыка ,при парсинге из json ☹..\"" ; //
$replacement = "<div class='coub' onmouseover='showName(this);'><a href='//coub.com/view/\\${1}1'  onclick='return frame(this);'><img src='\$3small\$4'>\$2</a><span>$span</span></div>";
$echo = preg_replace($regexp, $replacement, $value) ;
echo preg_replace("~\\\\\"~", "\"", $echo) ;
}
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы