Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak usunąć znaki specjalne z ciągu, właściwie jak pozostawić tylko niektóre
Maxximilian
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.04.2005

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


W jaki spoób wyeliminować wszelakie niechciane znaki z ciągu.
Chodzi o konwersję tytułu artykułu/strony na url (tak jak w prezentowanym na php.pl artykule) - problem w tym, że jeśli tytuł staje się url-em - to nie może zawierać masy różnych znaków innych niż podstawowe 30.
Próbowałem to robić tak:

Kod
$link = html_entity_decode($link);
$link = strip_tags($link);
$link = ereg_replace('|', '_', $title);
$link = ereg_replace('#', '_', $title);
$link = ereg_replace('@', '_', $title);
$link = ereg_replace('\', '_', $title);
$link = ereg_replace('/', '_', $title);
$link = ereg_replace('-', '_', $link);
$link = ereg_replace(' ', '_', $link);


ale chyba nie tędy droga.
Pozostaje jeszcze zamiana polskich znaków narodowych na "bezogonkowe" i generalnie eliminacja wszelakich znaków poza standartowymi 30-toma.
Więc generalnie może prostsza i szybsza byłaby jakaś funkcja - eleminująca wszystkie znaki oprócz tych 30-tu.
Czy ktoś mógłyby mi coś podpowiedzieć?
Z góry dziękuje na pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Spirit86
post
Post #2





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

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


Cytat(Maxximilian @ 2006-04-04 12:26:48)
Dzięki za odpowiedzi.
Z kodowania znaków funkcją urlencode() raczje nie chciałbym korzystać - dostaje się takie wstręciuchowate %.
Czy jest jakaś opcja zamiany polskich znaków na bezogonkowe odpowidniki poza serią kolejnych funkcji ereg_replace() ?

jejku, ale masz problem,
tworzysz 2 tablice

  1. <?php
  2. $pl = array('ą', 'ś' ...)
  3. $lat = array('a', 's'...)
  4. str_replace($pl,$lat, ...)
  5. ?>


Ten post edytował Spirit86 4.04.2006, 15:10:11
Go to the top of the page
+Quote Post

Posty w temacie


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: 2.10.2025 - 16:26