Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] wydzielanie tekstu ze zmiennej ..
Forum PHP.pl > Forum > Przedszkole
sztibiribi
słuchajcie mam problem.. potrzebuje zrobić takie coś ze..
mam rekord w tabeli, w którym jest strasznie dyzo tekstu wraz ze znacznikami html (dane w rekordzie są tworzone przez użytkownika za pomocą edytora wysiwyg) ..
a co jakiś czas w tekscie występują znaczniki <h..> (np <h4> <h3><h2> itd) i służą one w tekście jako nagłówki )i mnóstwo innych znaczników które mnie teraz nie obchodzą)
przejdźmy wiec teraz do konkretów..
w tej chwili pobieram cały rekord (tekst - kod html) do jednej zmiennej i wyświetlam wszystko na raz na stronie i jest ok, ale chciałbym aby tekst byl grupowany (dzielony) na takiej zasadzie żeby wyznacznikami byly właśnie te znaczniki <h..> i np tekst (włącznie ze znacznikiem) rozpoczynający się od znacznika <h4> aż do pojawienia się następnego znacznika w tekście <h..> ( <h4>, <h3>, <h2> lub <h1>) wyświetlany był w osobnej tabeli na stronie gdzie tych znacznikow <h..> moz ebyc na prawde sporo ..
czyli na przykład..

mam zmienna która w bazie wygląda tak:
  1. $tekst = "<h4>tekst1</h4>jakis tam sobie tekst<br>ble ble ble<h3>tekst2</h3>jakis tam sobie tekst 2<h1>kolejny tekst w nagłówku</h1>cos tam cos tam<h4>ostatni naglowek</h4>ostatni tekst<br>ostatni tekst";

i chciałbym aby była ona wyświetlona w niżej pokazany sposób a nie jak przy zwykłym echo, czyli ze wszystko na raz ..:

  1. <table><tr><td><h4>tekst1</h4>jakis tam sobie tekst<br>ble ble ble</td></tr></table>
  2. <table><tr><td><h3>tekst2</h3>jakis tam sobie tekst 2</td></tr></table>
  3. <table><tr><td><h1>kolejny tekst w naglowku</h1>cos tam cos tam</td></tr></table>
  4. <table><tr><td><h4>ostatni naglowek</h4>ostatni tekst<br>ostatni tekst</td></tr></table>

pamiętając o tym, ze w tekście przypisanym do zmiennej jest także 50 innych znaczników formatujących tekst smile.gif

ktoś ma jakiś pomysł jak to zrobić? bardzo proszę Was o pomoc bo ja nie mam zielonego pojęcia jak się do tego zabrać ..
z góry wielkie dzięki
Pawel_W
wyrażenia regularne
sztibiribi
po kilku godzinach na google i kilkunastu stronach o wyrazeniach juz mniejwiecej wiem o co chodzi, jednak nie moge sobie za nic poradzic z regula jaka ma byc.. ;/

i dalej nie moge tego rozgrysc.. czy moglby pomoc ktos w potrzebie;d?
Pawel_W
dobra, prościej, zrób explode i jako argument podaj '<h'
sztibiribi
Cytat(Pawel_W @ 3.09.2009, 20:26:23 ) *
dobra, prościej, zrób explode i jako argument podaj '<h'

od razu prościej smile.gif .. parę minut i udało się smile.gif tak myślę .. napisałem taki skrypt
  1. <?php
  2. $tekst = "<br>tekst1</h4>jakis tam sobie tekst<br>ble ble ble<h3>tekst2</h3>jakis tam sob'ie tek'st 2<h1>kolejny tekst w naglowku</h1>cos tam cos tam<h4>ostatni naglowek</h4>ostatni tekst<br>ostatni tekst";
  3. $czesci = explode("<h", $tekst);
  4. for($i = 0, $x = count($czesci); $i < $x; $i++)
  5. {
  6. echo '<table border="1px"><tr><td> <h'.$czesci[$i].'</td></tr></table><br>';
  7. }
  8. ?>

czy mógłbyś sprawdzić czy to tak powinno być .. skrypt działa, ale nie chciałbym jakichś niespodzianek smile.gif?
sprawdziłem.. edytor nie robi żadnych innych znaczników zaczynających się od <h wiec jedynym niepożądanym skutkiem będzie to, jeśli ktoś (osoba zarządzająca strona) w edytorze wpisze jakiś ciąg znaków zaczynających sie od <h np: <hahaha> co mało prawdopodobne, ale nie mam zielonego pojęcia jak się teraz przed tym zabezpieczyć winksmiley.jpg w sumie to chyba nie jest to konieczne..
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.