Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] preg_replace zamiana kropek z kodu linka
Forum PHP.pl > Forum > PHP
PolKolo
Na wstępie witam ALL.

Mamy przykładowy ciąg znaków:
$stCiag='To jest pierwsze zdanie. To jest drugie zdanie z <a href="http://www.subdomena.domena.net.pl">linkiem</a>. A to jest ostatnie danie bez linku.';
1) Chciał bym zamienić wszystkie kropki z kodu inku <a href="http://www.subdomena.domena.net.pl">linkiem</a> na np: + ale bez zamieniania kropek kończących zdanie.

2) Odwrotna sprawa, chciał bym zamienić wszystkie kropki z tego ciągu $stCiag na np: + z wyjątkiem tych z kodu linku "<a href="http://www.subdomena.domena.net.pl">linkiem</a>"

Zwracam się o pomoc w zdefiniowaniu prawidłowych wyrażeń regularnych do funkcji preg_replace() lub preg_split();

Pozdrawiam

PS docelowo chodzi o rozbicie ciągu na składowe zdania i umieszczenie ich w tablicy. Niestety jak są w ciągu linki nie mogę tego zrobić funkcją explode sad.gif
ayeo
Zakładam, że po każdej kropce kończącej zdanie jest spacja smile.gif
  1. <?php
  2. $text = 'To jest pierwsze zdanie. To jest drugie zdanie z <a href="http://www.subdomena.domena.net.pl">linkiem</a>. A to jest ostatnie danie bez linku.';
  3. $text = $text." "; // dodaje spacje na końcu ciągu ;)
  4. $pattern = "#(.)s#"; // tu powinien być backslash przd kropka i przed s - forum je wycina
  5. $result = preg_replace($pattern, 'TU BYŁA KROPKA', $text);
  6. echo $result;
  7. ?>




Pozdrawiam
PolKolo
Dziękuję za odpowiedź - podany przez Ciebie kod działa zgodnie z oczekiwaniami smile.gif

Pozdrawiam
ayeo
OMG
Looknij w komentarz przy $pattern!! Dodaj backslash przed . i przed s!!

edit: no ja myśle smile.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.