Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP, wyr. reg.] "Podświetlenie" wersów z tekstu, Jak zrobić? (pewnie korzystając z wyraż. reg.)
Blackhole
post
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


Cześć.
Mam sobie w zmiennej tekst zawierający w sobie liczby, określające nr wersu. Np.:
  1. 1 To jest pierwszy wers, 2 a to już drugi. Zaraz będzie trzeci. 3 O już się pojawił. Mogę tak więcej, ale może na czwartym wystarczy. 4 A więc ten będzie ostatni.
Chciałbym teraz zrobić tak, że mając podany przedział liczb w 2 zmiennych np. $start=2 i $end=3, wersy od 2 do 3 powinny być jakoś podświetlone.
Próbowałem tak:
  1. <?php
  2. $tekst = preg_replace("#(".$start.") #",\n<span class=\"t_mark\">1 ", $tekst);
  3. $tekst = preg_replace("#(".($end+1).") #",\n</span>1 ", $tekst);
  4. ?>
lecz nie działa poprawnie. Gdy podam $start=1, a tekst zawiera wers np. o numerze 11, to ten 11 też się podświetla (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) Proszę o pomoc.

--- edit ---

Wersja:
  1. <?php
  2. $tekst = preg_replace("#[^0-9](".$start.") #",\n<span class=\"t_mark\">1 ", $tekst);
  3. $tekst = preg_replace("# (".($end+1).")#","</span>\n 1 ", $tekst);
  4. ?>
działa już dość dobrze. Jednak w tekście mogą się pojawiać znaczniki <h3> i jeśli taki element będzie w wersach wchodzących w skład podświetlonego fragmentu, to podświetlenie kończy się przed tym znacznikiem. Jak to obejść?

Ten post edytował Blackhole 15.08.2008, 10:28:22
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.09.2025 - 20:48