Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] preg_replace - zapewne banalny problem
Ziels
post 25.11.2006, 19:36:08
Post #1





Grupa: Zarejestrowani
Postów: 235
Pomógł: 2
Dołączył: 30.06.2006

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


Witam!

Chcę w kodzie typu
  1. <?php
  2. $strings = '[blabla] coś innego [coś] coś jeszcze innego';
  3. ?>

Wyciąć wszystko oprócz zawartości pomiędzy []
Stosuje do tego preg_replace jednak takie coś:
  1. <?php
  2. $strings = preg_replace("#[^([(.*?)])]#si", '', $strings);
  3. ?>

Za bardzo działać nie chce (wywala zupełnie coś innego niż powinno) - wie ktoś może czemu?

Ten post edytował Ziels 25.11.2006, 19:36:49
Go to the top of the page
+Quote Post
JaRoPHP
post 25.11.2006, 22:16:32
Post #2





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


Pozwolę sobie na użycie funkcji ereg_replace smile.gif:

  1. <?php
  2. $strings = ereg_replace('[[[:alnum:]]*]', '', $strings);
  3. ?>

Przyjąłem, że w nawiasie kwadratowym są znaki alfanumeryczne, jeśli mogą być również inne, to należy to odrobinę zmodyfikować.

Ten post edytował JaRoPHP 25.11.2006, 22:19:06


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
dawhol
post 26.11.2006, 10:20:42
Post #3





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


Robilem cos podobnego wczoraj winksmiley.jpg i tez mi nie wychodzilo ale doszedlem wkoncu do tego winksmiley.jpg masz tutaj moj skrypcik.
  1. <?php
  2. $szukaj = array ('/</',
  3.  '/" //',
  4.  '/"//');
  5.  
  6. $zamien = ' ';
  7.  
  8. $text = preg_replace($szukaj, $zamien,$tablica);
  9. ?>


Ja akurat tutaj przeszukiwalem tablice i "usuwałem" kilka rzeczy jezeli chesz usunac kilka znakow nie stajacych normalnie obok siebie to zrob tablice tak jak ja mam przy zmiennej $szukaj z tym ze w kazdej czesci tablicy przy znakach musisz po pierwszyszym i przed ostatim apostrofem dac / bo inaczej nie zadziala ;P


--------------------
Go to the top of the page
+Quote Post
Sedziwoj
post 26.11.2006, 12:19:57
Post #4





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

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


  1. <?php
  2. $strings = preg_replace("#[^([(.*?)])]#si", '', $strings);
  3. ?>

zamiast # powinno być /
  1. <?php
  2. $strings = preg_replace("/([(.*)])/si", '', $strings);
  3. ?>

tylko, że .* 'zjada' wszystko.
  1. <?php
  2. $strings = preg_replace("/([[[:alnum:]]*])/si", '', $strings);
  3. ?>

nie łapie polskich znaczków (a właściwie to tylko a-z,A-Z,0-9)


--------------------
Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami.
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: 14.08.2025 - 03:14