Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

[PHP/wyrażenia regularne] Nie potrafię napisać wyrażenia reg

Zdecydowałeś się na tworzenie interaktywnych stron przy pomocy PHP? Chcesz w łatwy i szybki sposób zarządzać danymi na swojej stronie? Tutaj znajdziesz pomoc w napotkanych przy tym trudnościach.

[PHP/wyrażenia regularne] Nie potrafię napisać wyrażenia reg

Post 05.12.2005, 22:58:08

Witam.
Mam tekst typu:
coś tu jest napisane <span class="klasa">tutaj coś innego napisane</span> a tu w ogóle jakiś całkiem dziwny tekst jest

Jakim wyrażeniem zamienić podmienić fragment tego tekstu, ale tak, by jeśli ten zamieniany fragment był pomiędzy < i > to by wtedy nie został zamieniony?

Pomocy!
Avatar użytkownikablackhole
Posty: 197
Dołączył(a): 26.09.2005
Lokalizacja: Chorzów

Post 06.12.2005, 15:56:29

Ktoś pomoże?
Avatar użytkownikablackhole
Posty: 197
Dołączył(a): 26.09.2005
Lokalizacja: Chorzów

Post 06.12.2005, 20:49:23

preg_replace - jest tam sporo przykładów.

blackhole napisał(a):Jakim wyrażeniem zamienić podmienić fragment tego tekstu, ale tak, by jeśli ten zamieniany fragment był pomiędzy < i > to by wtedy nie został zamieniony?
Przeczytaj to i spróbuj sam tozrozumieć :)

Napisz dokładnie co chcesz uzyskać :]

:ballpl: Pozdrawiam
...
:balloff: Geolokalizacja IP :balloff:

The people who are trying to make this world worse are not taking a day off. How can I? - Light up the darkness
Avatar użytkownikaFanFataL
Artur Grzybowski

The truth is out there

Posty: 2298
Dołączył(a): 05.04.2005
Lokalizacja: Kraków / Bydgoszcz

Post 07.12.2005, 16:01:29

Chcę uzyskać takie coś, że zamieniąjąc w ciągu
coś tu jest napisane <span class="klasa_zaznaczenia">tutaj coś innego napisane</span> a tu w ogóle jakiś całkiem dziwny tekst jest
literkę "n" na "n" otrzymam w wyniku ciąg
coś tu jest napisane <span class="klasa_zaznaczenia">tutaj coś innego napisane</span> a tu w ogóle jakiś całkiem dziwny tekst jest
Czyli w tagach HTML nie ma być żadnych zmian wprowadzanych.

--- edytowane ---
Był w tym wpisie błąd. Już poprawiłem.
Avatar użytkownikablackhole
Posty: 197
Dołączył(a): 26.09.2005
Lokalizacja: Chorzów

Post 08.12.2005, 18:06:35

Próbowałem tak:
Kod: Zaznacz cały
$tresc = preg_replace("/(<[.^<]*)(".$do_zaznaczenia.")([.^>]*>)/i",'\\1<span class="mark">\\2</span>\\3',$tresc);
lecz nie działa :(
Chcę brać pod uwagę jedynie ten tekst, które nie jest pomiędzy < i >. Pomóźcie, proszę!
Avatar użytkownikablackhole
Posty: 197
Dołączył(a): 26.09.2005
Lokalizacja: Chorzów

Post 11.12.2005, 15:02:33

Czyżby nikt nie był na tyle obeznany z tematem wyr. reg., aby był w stanie mi pomóc? :(
Avatar użytkownikablackhole
Posty: 197
Dołączył(a): 26.09.2005
Lokalizacja: Chorzów

Post 21.12.2005, 14:57:39

Ludzie, pomocy!
:(
Avatar użytkownikablackhole
Posty: 197
Dołączył(a): 26.09.2005
Lokalizacja: Chorzów

Post 21.12.2005, 19:34:24

rudno to zrobic za pomoca jednego wyrażenia regularnego, ale można to zrobic tak:
Kod: Zaznacz cały
<?php
function zaznacz($text, $fraza='') {
   if(preg_match_all('#<(.*?)>#is', $text, $matched)) {
      $matched = $matched[0];
      $text = preg_replace('#<(.*?)>#is', chr(1), $text);
      $text = str_replace($fraza, '<span class="mark">'.$fraza.'</span>', $text);
      $i = 0;
      $text = preg_replace('#'.chr(1).'#e', '$matched[$i++]', $text);
   }
   else $text = str_replace($fraza, '<span class="mark">'.$fraza.'</span>', $text);
   return $text;
}
?>

:ballpl: Pozdrawiam
...
:balloff: Geolokalizacja IP :balloff:

The people who are trying to make this world worse are not taking a day off. How can I? - Light up the darkness
Avatar użytkownikaFanFataL
Artur Grzybowski

The truth is out there

Posty: 2298
Dołączył(a): 05.04.2005
Lokalizacja: Kraków / Bydgoszcz

Post 21.12.2005, 21:55:20

FanFataL, DZIĘKI!! Jesteś wielki! :) :ballon:
Avatar użytkownikablackhole
Posty: 197
Dołączył(a): 26.09.2005
Lokalizacja: Chorzów


Powrót do PHP i bazy danych


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Google Feedfetcher i 7 gości

Hosting, Domeny, SSL

Subskrypcja

Mamy 50309 zarejestrowanych użytkowników.
Najnowszy użytkownik: arale


Nasi użytkownicy napisali:

  • 935438 wiadomości
  • w 246473 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)