Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z wyrazeniami regularnymi
problemik_mam
post 7.10.2003, 16:42:31
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 4.10.2003

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


Witam
Moze ktos pomoze, jak wyeliminowac ze zmiennej znaki typu "!@#>>{}[]"
Kombinowalem, ale nie bardzo obczajam o co chodzi w wyrazeniach regularnych, moje "cos":

$zmienna = ereg_replace('[[:punct:]]', '<>!@#$%^&*().,:[{} ', $zmienna);
z gory wielkie dzieki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Seth
post 7.10.2003, 17:07:17
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


Mozna tak:
[php:1:48d2dd24ac]$text = preg_replace( "/(!|@|#|>|{|}|[|])/", '', $text );[/php:1:48d2dd24ac]

lub bez regularnych:
[php:1:48d2dd24ac]$text = preg_replace ( array( '!', '@', '#', '>', '{', '}', '[', ']' ), '', $text);[/php:1:48d2dd24ac]
Go to the top of the page
+Quote Post
problemik_mam
post 7.10.2003, 17:36:45
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 4.10.2003

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


Cytat
Mozna tak:
[php:1:b5491e2122]$text = preg_replace( "/(!|@|#|>|{|}|[|])/", '', $text );[/php:1:b5491e2122]


moglbys mi to wytlumaczyc smile.gif ? bo sie nie moge polapac smile.gif
Go to the top of the page
+Quote Post
Seth
post 7.10.2003, 17:46:05
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


Cytat
/(!|@|#|>|{|}|[|])/

/( - rozpoczyna wyrazenie
Znaki, ktore maja byc zamienione sa odzdzielone pipeami (|).
{, }, [ i ] - maja odpowiednie funkcje w wyrazeniach, wiec trzeb je podac w formie, ktora bedzie wybierala wlasnie te znaki, a nie ich odpowiednie funkcje. Czyli dodajemy przed tymi znakami
)/ - konczy wyrazenie
Go to the top of the page
+Quote Post
problemik_mam
post 7.10.2003, 18:29:26
Post #5





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 4.10.2003

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


jak do tego wyrazenia wiec dodac slashe ? tak zeby je tez usuwal ?
Go to the top of the page
+Quote Post
Seth
post 7.10.2003, 18:31:45
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


\
Go to the top of the page
+Quote Post
adwol
post 7.10.2003, 18:40:20
Post #7





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
jak do tego wyrazenia wiec dodac slashe ? tak zeby je tez usuwal ?

[php:1:96ef9b93be]<?php
$tekst = preg_replace('|[!@#>/{}[]]|', '', $tekst);
?>[/php:1:96ef9b93be]

Seth: Po co uzywać alternatywy lub tablicy gdy są znacznie prostsze klasy znaków.
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: 7.07.2025 - 05:35