to mój pierwszy post więc proszę o wyrozumiałość. Siedzę cały dzień nad jednym szczegółem i nie mogę go rozwiązać. W skrócie to wygląda tak:

1) Pobieram plik z internetu kopiujac kazdy znak fgetc i zapisuje do pliku
2) Konwertuje zakodowana strone w ISO-8859-2 na UTF-8 funkcja iconv
3) Szukam wzoru w znalezionym pliku i towrze tablice dopasowan preg_match_all
4) Kasuje niepozadane znaki takie jak spacje, ukosniki, pytajniki itp.. preg_replace
5) ucinam polskie ogonki wlasna funkcja

WYNIK: okazuje sie ze wszystko dziala w porzadku, wyswietla sie tak jak chce, otrzymuje ciag bez niepozadanych znakow z jednym wyjatkiem zawsze zostaje cudzyslow ", po prostu nie da sie go usunac. Moze wie ktos dlaczego?

uzywalem roznych wzorow $wzor = '/[\"]+/'; $wzor = '/[\x22]+/'; $wzor = '/["]+/'; jednak nic nie skutkuje. Ponizej umiesczam skrocona do minimum wersje programu. Może ktos mnie wyratuje z problemu...

  1. <?php header('Content-type: text/html; charset=utf-8') ?>
  2. <?php
  3.  $wzor = '/[\"]+/';
  4.  $zrzut = SavePHPasTXT ();
  5.  
  6.  preg_match_all('/tekst\"s\"da/',$zrzut,$zrzut2);
  7.  
  8.  for ($i=;$i<count($zrzut2[0]) ; $i++){
  9. $zrzut3[$i]=preg_replace($wzor, "", $zrzut2[0][$i]);
  10. $zrzut3[$i]=pllib_cut2 ($zrzut2[0][$i]);
  11. echo $zrzut3[$i];
  12.  }
  13.  
  14. function pllib_cut2 ($ciag)
  15. {
  16.  $l_PL=array('ą','Ą','ć','Ć','ę','Ę','ł','Ł','ń','Ń','ó','Ó','ś','Ś','ź','Ź','ż','Ż');
  17.  $l_EU=array('a','A','c','C','e','E','l','L','n','N','o','O','s','S','z','Z','z','Z');
  18.  
  19.  for ($i=; $i<count($l_PL) ; $i++)
  20. $ciag=str_replace($l_PL[$i],$l_EU[$i], $ciag); 
  21.  
  22.  return $ciag;
  23. } 
  24.  
  25. function SavePHPasTXT ()
  26. { 
  27.  $we=fopen($_SERVER['DOCUMENT_ROOT']."/testpl/odczyt-ISO.html","r");
  28.  $wy=fopen($_SERVER['DOCUMENT_ROOT']."/testpl/wy.txt","w");
  29.  
  30.  $zrzut='';
  31.  
  32.  while (!feof($we)){
  33. $znak = fgetc($we);
  34. $zrzut = $zrzut.$znak; 
  35. }
  36.  
  37.  $zrzut=iconv("ISO-8859-2","UTF-8",$zrzut);
  38.  fwrite($wy,$zrzut);
  39.  fclose($wy);
  40.  fclose($we);
  41.  return $zrzut;
  42. }
  43. ?>


problem rozwiązany pomogła linijka (w kodzie był również błąd, ale tylko w pliku testowym w 10 linii powinno być $zrzut3[$i]=pllib_cut2 ($zrzut3[$i]);)


Rozwiązanie:
CODE

$zrzut=str_replace ( " & q u o t e ; ","\"",$zrzut);