Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> usuwanie linii z pliku krótszej niż określona ilość znaków
thecgla
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 27.08.2015

Ostrzeżenie: (0%)
-----


Pisze sobie parser do ściągania danych z mojej strony www. Chciałbym otrzymywać sam tekst dłyższy niż okręślona ilość znaków czyli same zdania bez nazw kategorii itp.

Oto mój kod:
  1. <?php
  2.  
  3.  
  4. # create and load the HTML
  5. include('simple_html_dom.php');
  6.  
  7.  
  8. $tekst = file_get_html('http://www.naszawiedza.pl/')->plaintext;
  9.  
  10. foreach ($tekst as $key=>&$value) {
  11. if (strlen($value) > 60) {
  12. unset($yourArray[$key]);
  13. }
  14. }
  15.  
  16. echo $tekst;
  17.  
  18. //kropka
  19. $string = $tekst;
  20. $substr = '.';
  21. $attachment = "\r\n";
  22. //$position = strpos($string, 'a');
  23. $newstring = str_replace($substr, $substr.$attachment, $string);
  24. // bca+++def a+++bcdef
  25.  
  26. //znak zapytania
  27. $string = $tekst;
  28. $substr = '?';
  29. $attachment = "\r\n";
  30. //$position = strpos($string, 'a');
  31. $newstring = str_replace($substr, $substr.$attachment, $string);
  32. // bca+++def a+++bcdef
  33. //podwójna spacja
  34. $string = $tekst;
  35. $substr = '\r\n\r\n';
  36. $attachment = "\r\n";
  37. //$position = strpos($string, 'a');
  38. $newstring = str_replace($substr, $substr.$attachment, $string);
  39. // bca+++def a+++bcdef
  40.  
  41. //Wykrzyknik
  42. $string = $tekst;
  43. $substr = '!';
  44. $attachment = "\r\n";
  45. //$position = strpos($string, 'a');
  46. $newstring = str_replace($substr, $substr.$attachment, $string);
  47. // bca+++def a+++bcdef
  48.  
  49. //tabulator
  50. $string = $tekst;
  51. $substr = ' ';
  52. $attachment = "\r\n";
  53. //$position = strpos($string, 'a');
  54. $newstring = str_replace($substr, $substr.$attachment, $string);
  55. // bca+++def a+++bcdef
  56. echo $newstring;
  57.  
  58.  
  59.  
  60.  
  61.  
  62. // zmienna $dane, która będzie zapisana
  63. // może także pochodzić z formularza np. $dane = $_POST['dane'];
  64. $dane = $newstring;
  65.  
  66. // przypisanie zmniennej $file nazwy pliku
  67. $file = "testy.txt";
  68.  
  69.  
  70.  
  71. // uchwyt pliku, otwarcie do dopisania
  72. $fp = fopen($file, "a");
  73.  
  74. // blokada pliku do zapisu
  75. flock($fp, 2);
  76.  
  77. // zapisanie danych do pliku
  78. fwrite($fp, $dane);
  79.  
  80. // odblokowanie pliku
  81. flock($fp, 3);
  82.  
  83. // zamknięcie pliku
  84. fclose($fp);
  85.  
  86. //usun puste wiersze
  87. $plik = "testy.txt";
  88.  
  89. // odczyt
  90. $bufor = array();
  91. $fd = fopen($plik, "r");
  92. while (!feof ($fd))
  93. {
  94. $linia = fgets($fd, 1024);
  95. if(strlen(trim($linia)))
  96. {
  97. $bufor[] = $linia;
  98. }
  99. }
  100. fclose($fd);
  101.  
  102. // zapis
  103. $fdw = fopen($plik, "w");
  104. foreach($bufor as $wiersz)
  105. {
  106. fwrite($fdw, $wiersz);
  107. }
  108. fclose($fdw);



Nie wiem czym i jak to ugryźć składam program z dostępnych w internecie przykładów.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Ale w czym masz problem?
Go to the top of the page
+Quote Post
thecgla
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 27.08.2015

Ostrzeżenie: (0%)
-----


Cytat(Pyton_000 @ 22.03.2017, 18:56:16 ) *
Ale w czym masz problem?



Chciałbym otrzymywać sam tekst dłuższy niż określoną ilość znaków czyli same zdania bez nazw kategorii itp.


Czyli Jak usunąć wiersze w pliku krótsze niż np 100 znaków i jednocześnie muszą się zaczynać dużą literą i kończyć kropką znakiem zapytania lub wykrzyknikiem.
Go to the top of the page
+Quote Post
Tomplus
post
Post #4





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


Jeżeli to Twoja strona, to nie lepiej stworzyć kod który będzie wyświetlał prostą treść, w postaci JSON, XML, cokolwiek?

Dwa... jak używasz simple_html_dom to po co pobierasz to jako plaintext?
Nie lepiej od razu zacząć pobieranie całych fragmentów kodu?

http://simplehtmldom.sourceforge.net/
Go to the top of the page
+Quote Post
thecgla
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 27.08.2015

Ostrzeżenie: (0%)
-----


Albo inaczej: Jak odfiltrowywać wszystko co zaczyna się dużą litera i kończy kropką znakiem zapytania lub wykrzyknikiem.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 05:22