Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Usuwanie tekstu z pomiędzy 2 znaków.
kajzur
post
Post #1





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

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


Witam,

mam np taki tekst [lol]sfsdfsdf

i chciałbym żeby zostało samo

sfsdfsdf

Jak można to napisać? Hm? Wyrażenia regularne nie są moją mocną stronę, o i długość tekstu pomiędzy [] nie znamy..

O i przy okazji chciałbym wywalić wszystkie znaki typu !@:<.,; itp.. Jednym słowem chce zrobić tekst do linku, mam tak:

Kod
function url($tekst)
{
$tekst = strtr($tekst, 'ĘÓĄŚŁŻŹĆŃęóąśłżźćń', 'EOASLZZCNeoaslzzcn');
$tekst = urlencode($tekst);
return $tekst;
}


Ten post edytował kajzur 7.06.2009, 17:04:30


--------------------
Zapraszam na mojego bloga. Dowiedz się jak uzyskać darmowy, zaufany certyfikat albo jak rozpoznawać głos ;)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Wicepsik
post
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  1. <?php
  2. $teskt = '[lol]sfsdfsdf';
  3. preg_match('/[([a-zA-Z]+)]([a-zA-Z]+)/', $teskt, $wynik);
  4. print_r($wynik);
  5. ?>


  1. Array
  2. (
  3. [0] => [lol]sfsdfsdf
  4. [1] => lol
  5. [2] => sfsdfsdf
  6. )


Ten post edytował Wicepsik 7.06.2009, 17:06:36


--------------------
Go to the top of the page
+Quote Post
kajzur
post
Post #3





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

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


Kod
function url($tekst)
{
$tekst = strtolower(strtr($tekst, 'ĘÓĄŚŁŻŹĆŃęóąśłżźćń', 'EOASLZZCNeoaslzzcn'));

preg_match('/\[([a-zA-Z]+)\]([a-zA-Z]+)/', $tekst, $tekst1);
$tekst2 = urlencode($tekst1[2]);

return $tekst2;

}

echo url("[lol]NAJLEPSZE Tanie RZECZY");


Hmm, takie coś zwraca mi "najlepsze". Po kroku.. Pierw wywalam polskie znaki, później zamieniam litery na małe, następnie wyrzucam to, co znajduje się pomiędzy [], i koduje do url'a. Ale coś nie do końca działa.

Ten post edytował kajzur 7.06.2009, 17:23:23


--------------------
Zapraszam na mojego bloga. Dowiedz się jak uzyskać darmowy, zaufany certyfikat albo jak rozpoznawać głos ;)
Go to the top of the page
+Quote Post
Wicepsik
post
Post #4





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  1. <?php
  2. function url($tekst)
  3. {
  4. $tekst = strtolower(strtr($tekst, 'ĘÓĄŚŁŻŹĆŃęóąśłżźćń', 'EOASLZZCNeoaslzzcn'));
  5.  
  6. preg_match('/[([a-zA-Z]+)]([a-zA-Z ]+)/', $tekst, $tekst1);
  7. $tekst2 = urlencode($tekst1[2]);
  8.  
  9. return $tekst2;
  10.  
  11. }
  12.  
  13. echo url("[lol]NAJLEPSZE Tanie RZECZY");
  14. ?>

Nie podałem wcześniej w wyrażeniu spacji winksmiley.jpg

Ten post edytował Wicepsik 7.06.2009, 17:33:02


--------------------
Go to the top of the page
+Quote Post
kajzur
post
Post #5





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

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


Warning: preg_match() [function.preg-match]: Compilation failed: unmatched parentheses at offset 11 in

Taki błąd dostałem, jak to poprawić?smile.gif


--------------------
Zapraszam na mojego bloga. Dowiedz się jak uzyskać darmowy, zaufany certyfikat albo jak rozpoznawać głos ;)
Go to the top of the page
+Quote Post
Wicepsik
post
Post #6





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Usunęło znaki \
  1. <?php
  2. preg_match('/[([a-zA-Z]+)]([a-zA-Z ]+)/', $tekst, $tekst1);
  3. ?>

na
  1. <?php
  2. preg_match('/[([a-zA-Z]+)]([a-zA-Z ]+)/', $tekst, $tekst1);
  3. ?>


Ten post edytował Wicepsik 7.06.2009, 17:41:19


--------------------
Go to the top of the page
+Quote Post
kajzur
post
Post #7





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

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


Kod
function url($tekst)
{
$tekst = strtolower(strtr($tekst, 'ĘÓĄŚŁŻŹĆŃęóąśłżźćń', 'EOASLZZCNeoaslzzcn'));

preg_match('/\[([a-zA-Z]+)\]([a-zA-Z ]+)/', $tekst, $tekst1);
$tekst2 = str_replace(" ", "_", $tekst1[2]);

return $tekst2;

}

echo url("[lol]NAJLEPSZE Tanie RZECZY"); // zwróci "najlepsze_tanie_rzeczy"


Działa, dzięki wielkie stary smile.gif


--------------------
Zapraszam na mojego bloga. Dowiedz się jak uzyskać darmowy, zaufany certyfikat albo jak rozpoznawać głos ;)
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 Aktualny czas: 21.08.2025 - 13:10