Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][inne] regex stracenie pustych linii
Forum PHP.pl > Forum > Przedszkole
emanuel
Potrzebuje stracić „puste” linie we wczytanym pliku HTML.

Przykładowy kod wejściowy

  1. </div>
  2. <div style="clear:both;height: 10px;"></div>
  3.  
  4. <a name="comments"></a>
  5. <div id="vk_comments"></div>
  6. <script type="text/javascript">
  7. <!--
  8. if (/*@cc_on 1 | @*/ 0) {
  9. addLoadEvent(function(){
  10. VK.Widgets.Comments('vk_comments', {width: 0, limit: 15}, 1025381);
  11. });
  12. } else {
  13. VK.Widgets.Comments('vk_comments', {width: 0, limit: 15}, 1025381);
  14. }
  15. //-->
  16. </script>
  17.  
  18. <!--<div id="disqus_thread"></div>
  19. <script type="text/javascript">
  20. /**


Po straceniu pustych linii ma być tak

  1. </div>
  2. <div style="clear:both;height: 10px;"></div>
  3. <a name="comments"></a>
  4. <div id="vk_comments"></div>
  5. <script type="text/javascript">
  6. <!--
  7. if (/*@cc_on 1 | @*/ 0) {
  8. addLoadEvent(function(){
  9. VK.Widgets.Comments('vk_comments', {width: 0, limit: 15}, 1025381);
  10. });
  11. } else {
  12. VK.Widgets.Comments('vk_comments', {width: 0, limit: 15}, 1025381);
  13. }
  14. //-->
  15. </script>
  16. <!--<div id="disqus_thread"></div>
  17. <script type="text/javascript">
  18. /**


W powyższym fragmencie kodu stracono dwie puste linie. Puste linie mogą nie być puste. W liniach mogą być niewidoczne znaki (tabulator, spacja) a linia zakończona znakami LR lub LR i CR.
Możliwy jest też blok pustych linii w którym będzie wiele pustych linii jedna pod drugą.
Niewidoczne znaki mogą być zapisane naprzemiennie (np. spacja, tabulator, spacja).

Jednym z pomysłów jest procedura znajdź i zamień z wykorzystaniem regex'u.
Teraz potrzebuję regex'u filtrującego znajdź i wartości zamień, które mógłbym wykorzystać w skrypcie PHP, PERL, lub programach znajdź i zamień przeszukujących pliki.
Ewentualnie podpowiedzi efektywniejszego czasowo i obliczeniowo rozwiązania.
Format kodu wejściowego nie jest znany żeby dobywać dane pomijając puste linie.
Kookaburra
Dzień dobry.

Może takie coś okaże się przydatne:
  1. preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $string)


Pozdrawiam,
K.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.