Autor Zpráva
Vanama
Profil
Zdravím,
stále bojuji s regulárními výrazy. Potřeboval bych odstranit nebo nahradit za jednoduché uvozovky dvojité uvozovky mezi dvěma uvozovkami s čárkou.

Např. mám string text,"text2"text3",text4 a potřebuji to převést na text,"text2'text3",text4. Tzn., že nahradit všechny dvojité uvozovky vždy mezi ," a ", kde toto se může několikrát opakovat.

Zkoušel jsem toto, ale nějak to dobře nefunguje.
$data = '[text,"text2"text3",2,"text4"text5",1]';
$text = preg_replace('$,".*(["^,]).*[^",]$', '', $data);

Prakticky potřebuji $data upravit tak, abych to mohl převést do pole přes json_decode

Díky za radu
peta
Profil
<?php
function pregCB($match)
{
return '"'.str_replace('"',"'",$match[1]).'",';
}

$str = '[text,"text2"text3",2,"text4"text5",1]';
print $str.'<br>';
$str = preg_replace_callback('/"(.*?)(",)/', "pregCB", $str);
print $str;
?>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: