Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Wyrażenia regularne, Problem z zamianą ciągu znaków
Joachim Peters
post 7.11.2006, 18:07:31
Post #1





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

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


Zaczynam swoją zabawe z wyrazeniami, ale narazie idzie marnie, próbuje zrobić funkcje która oczyszcza wszystko co jest między "[", "]".
Narazie zrobiłem coś takiego, ale nic nie działa:
  1. <?php
  2. $message = ereg_replace("[^[[:alnum:]]$]", "", $message);
  3. $message = ereg_replace("[/^[[:alnum:]]$]", "", $message);
  4. ?>

ma to działać tak w ciąg znaków jest np. taki:
[tekst]test[/tekst] i ma to przerobić do tego "test", bez nawiasów kwadratowych i ukośnika.
Go to the top of the page
+Quote Post
misieq
post 7.11.2006, 18:42:22
Post #2





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 1.11.2006

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


  1. <?php
  2. $tekst = preg_replace("/[.+?]/", '', $tekst);
  3. ?>


Powinno działać

Ten post edytował misieq 7.11.2006, 18:44:44
Go to the top of the page
+Quote Post
venomz
post 7.11.2006, 19:01:18
Post #3





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 18.09.2006

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


@misieq: przetestowales to? cos mi sie nie widzi zeby to moglo zadzialac dry.gif

wzorzec powinien wygladac tak:

Cytat
\[([[:alnum:]/]+)\]


i rozbijajac to na czesci pierwsze:
\[ - ciag znakow zaczyna sie od znaku "["

([[:alnum:]/]+) - dowolna ilosc liter i znakow ukosnika - "/"

\] - na koniec znak "]"

edit:

i jeszcze wskazowka nie dawaj na poczatku znaczka "^" bo wtedy nie bedzie dzialal dla ciagow typu:

tekst [znacznik] tekst [/znacznik]

(chyba ze akurat ma tak dzialac)

Ten post edytował venomz 7.11.2006, 19:04:08
Go to the top of the page
+Quote Post
misieq
post 7.11.2006, 19:46:39
Post #4





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 1.11.2006

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


Hmm... ja sądziłem że to ma wyciąć po prostu z jakiegoś tekstu wszystko w stylu [cośtam] lub [/cośtam] i w takim przypadku działa mój regexp.

EDIT: No tak, coś mi nie chce forum wyśietlać wszystkich ukośników smile.gif W takim razie znak po znaku:
/ \ [ . + ? \ ] /

Ten post edytował misieq 7.11.2006, 19:50:14
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 06:14