Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] preg_replace zamiana kropek z kodu linka, bez zamiany pozostalych kropek w zdaniu
PolKolo
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 14.12.2007

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


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 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował PolKolo 14.12.2007, 23:16:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Zakładam, że po każdej kropce kończącej zdanie jest spacja (IMG:http://forum.php.pl/style_emoticons/default/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

Ten post edytował ayeo 15.12.2007, 13:42:40
Go to the top of the page
+Quote Post
PolKolo
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 14.12.2007

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


Dziękuję za odpowiedź - podany przez Ciebie kod działa zgodnie z oczekiwaniami (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam

Ten post edytował PolKolo 15.12.2007, 14:59:27
Go to the top of the page
+Quote Post
ayeo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


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

edit: no ja myśle (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował ayeo 15.12.2007, 15:01:33
Go to the top of the page
+Quote Post

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: 24.08.2025 - 02:36