Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyrażanie regularne do zamiany linka
Forum PHP.pl > Forum > Przedszkole
szczabik
Mam taką zmienną
  1. <?php
  2. $text = "TEST TEST <a href='tutaj dowolny testx' target='_blank'>TUTAJ DOWOLNY TEXT</a> test test"
  3. ?>

i chciał bym zamienić
<a href='' target='_blank'>TUTAJ DOWOLNY TEXT</a>
na

Link widoczny dla użytkownika


Gdzie TUTAJ DOWOLNY TEXT może byc za każdym razem inny

Napisałem takie coś
  1. <?php
  2. $wynik = preg_replace('/^<a href='' target='_blank'>(.*?)</a>$/i', 'Link widoczny dla użytkownika', $text);
  3. ?>

ale nie działa. Może mi ktoś pomóc
golaod
  1. <?php
  2. preg_replace('/<a[^>]+>[^<]+</a>/', 'Link widoczny', $text);
  3. ?>
szczabik
Nie działa i po za tym to jest źle bo link ma się zaczynać
Kod
<a href='TUTAJ DOWOLNY ADRES' target='_blank'>TUTAJ DOWOLNA NAZWA</a>
Spawnm
  1. <?php
  2. preg_replace("/<a href='(.*)' target='_blank'>(.*)</a>/", 'Link widoczny', $text);
  3. ?>


//zobacz czy zadziała , ale raczej powinno smile.gif

//edit
poprawiam \/a>/ smile.gif
wookieb
  1. <?php
  2. $text = "TEST TEST <a href='tutaj dowolny testx' target='_blank'>TUTAJ DOWOLNY TEXT</a> test test";
  3.  
  4. $wynik = preg_replace('/<a href='.*?' target='_blank'>(.*?)</a>/is', 'Link widoczny dla użytkownika', $text);
  5. echo $wynik;
  6. ?>


//EDIT spawnm był pierwszy ale brakuje tam \ przed /a
Wicepsik
  1. <?php
  2. $text = '<a href="http://onet.pl" target="_blank">Coś</a>';
  3. $wynik = preg_replace('/^<a href="([^<]+)" target="_blank">(.*?)</a>$/i', 'Link widoczny dla użytkownika', $text);
  4. echo $wynik;
  5. ?>
szczabik
Dzięki wookieb działa biggrin.gif
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.