Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrażenia regularne - zamiana na link
Civil
post
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 1
Dołączył: 19.09.2006
Skąd: Wrocław

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


Witam, mam taki problem. Otóż czy da się za pomocą wyrażeń regularnych zrobić coś takiego by w zadanym stringu nastąpiła zamiana tekstu
z np. {{strona|nazwa}} na <a href=strona>nazwa</a> ?

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


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




da

Kod
/{{([A-Za-z])\|([A-Za-z])}}/


regułka w ten deseń
Go to the top of the page
+Quote Post
barthpl
post
Post #3





Grupa: Zarejestrowani
Postów: 142
Pomógł: 35
Dołączył: 5.12.2006
Skąd: Wrocław

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


a dokładniej:
  1. <?php
  2. function linkTransformation( $matches )
  3. {
  4. return sprintf( '<a href="%s">%s</a>', $matches[1], $matches[2] );
  5. }
  6.  
  7. $text = 'To jest jakis tam tekst z linkami do strony {{stronaA|nazwaA}} i strony {{strona
    B|nazwaB}}.'
    ;
  8.  
  9. $pattern = '/{{([a-z]+)|([a-z]+)}}/i';
  10. $callback= "linkTransformation";
  11. $text = preg_replace_callback( $pattern, $callback, $text);
  12.  
  13. echo $text;
  14. ?>

Jako wynik otrzymasz:
  1. To jest jakis tam tekst z linkami do strony <a href="stronaA">nazwaA</a> i strony <a href="stronaB">nazwaB</a>.


--------------------
Jeżeli pomogłem rozwiązać Twój problem, kliknij pomógł.
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: 21.08.2025 - 01:09