Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Konwersja na znaki specjalne
masterinfo
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 27.02.2005

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


Witam.

Mam skrypcik, który wczytuje dane z pliku tekstowego i umieszcza je w bazie danych. W pliku tekstowym czasami trafiają się znaki specjalne w kodzie html (czyli np. ığ), a ja chciałbym je przekształcić na pojedynczy znaczek (taki jak w html). Nie mogę tego zrobić poprzez str_replace bo nie wiem jakie jeszcze inne znaki będą tam występowały.

Proszę o pomoc!!!
Go to the top of the page
+Quote Post
wojtek4410
post
Post #2





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 12.01.2005
Skąd: Leszno

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


użyj htmlspecialchars()
Go to the top of the page
+Quote Post
masterinfo
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 27.02.2005

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


Taa, ale htmlspecialchars() zamienia znak spec. na kod html, a mnie potrzeba tego w drugą stronę...
Go to the top of the page
+Quote Post
strife
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Jak chcesz się pozbyć tych znaków to może strip_tags" title="Zobacz w manualu PHP" target="_manual ?

Pozdrawiam


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





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Cytat(scarface @ 2005-02-27 21:35:40)
Jak chcesz się pozbyć tych znaków to może strip_tags" title="Zobacz w manualu PHP" target="_manual ?

Pozdrawiam

Ta funkcja wywala Tagi HTML a nie zamienia je na znaki normalne.


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
strife
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(Kuziu @ 2005-02-27 19:38:38)
Cytat(scarface @ 2005-02-27 21:35:40)
Jak chcesz się pozbyć tych znaków to może strip_tags" title="Zobacz w manualu PHP" target="_manual ?

Pozdrawiam

Ta funkcja wywala Tagi HTML a nie zamienia je na znaki normalne.

Tak więc to ja sie trochę pomyliłem, jeśli mógłbyś w takim razie mi powiedzieć co znaczy zmienić na znaki normalne, jak to mniej więcej ma wyglądać? bo trochę nie rozumiem.

EDIT

@Kuziu - dobrze, teraz rozumiem, dzięki za odpowiedź. Zaraz spróbuje to jakoś zrobić..(o ile mi się uda) smile.gif

Ten post edytował scarface 27.02.2005, 20:45:20


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





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Masz np. znak
Kod
<
i zamienić go znów na
Kod
<
ale nie poprzez strreplace bo tych znaków chyba sporo jest.


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
strife
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Znalazłem coś takiego przykład pochodzi z manuala - htmlspecialchars" title="Zobacz w manualu PHP" target="_manual
  1. // o reverse the action of htmlspecialchars(), use this code:
  2.  
  3. <?php
  4.    unhtmlspecialchars( $string )
  5.    {
  6.        $string = str_replace ( '&amp;', '&', $string );
  7.        $string = str_replace ( ''', '&#092;'', $string );
  8.        $string = str_replace ( '&quot;', '\"', $string );
  9.        $string = str_replace ( '&lt;', '<', $string );
  10.        $string = str_replace ( '&gt;', '>', $string );
  11.        
  12.        return $string;
  13.    }
  14.  
  15. ?>

@masterinfo - powiedz czy chodzi mnie więcej o coś takiego?

@Kuziu - właśnie nie wiem do końca czy jest tych znaków aż tyle, zawsze można zmienić te najpotrzebniejsze. Ale skoro w manualu jest coś takiego to chyba nie ma więcej. Chociaż NIE jestem tego pewien, powiedział bym nawet że są też inne... nie wiem. Jeszcze poszukam czegoś...

Pozdrawiam!

EDIT

No tak przecież znaczek copyright to to samo, o jak głupi... sadsmiley02.gif Ja narazie wpadłem na jedno rozwiązanie wpisanie tego wszystkiego... innego sposoby nie znam... sad.gif

Ten post edytował scarface 27.02.2005, 21:07:30


--------------------
Go to the top of the page
+Quote Post
Kuziu
post
Post #9





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Znaki specjalne HTML


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
masterinfo
post
Post #10





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 27.02.2005

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


@scarface - też widziałem tę funkcję z manuala, ale nie do końca o to mi chodzi. Bo nie wiem jakie te znaki jeszcze w przyszłości wystąpią i musiałbym rozszerzyć ją o wszystkie dostępne (np. korzystając z tablicy podanej w linku od Kuzia). Jednak szukam jakiejś funkcji zdefiniowanej w php. No ale jeżeli nie ma czegoś takiego to chyba trzeba będzie skorzystać z rozwiązania "na piechotę"

No i jest jeszcze jeden problem: pod linkiem nie ma wartości, które mnie interesują, czyli #305 i #287, więc nawet przepisanie wartości przez str_replace nie pomoże sad.gif

Ten post edytował masterinfo 27.02.2005, 22:51:05
Go to the top of the page
+Quote Post
rogrog
post
Post #11





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


eee html_entity_decode" title="Zobacz w manualu PHP" target="_manualquestionmark.gif


--------------------
Go to the top of the page
+Quote Post
crash
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


No właśnie, przecież to jest typowe działanie html_entity_decode" title="Zobacz w manualu PHP" target="_manual więc po co pisać od nowa funkcję?


--------------------
Go to the top of the page
+Quote Post
masterinfo
post
Post #13





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 27.02.2005

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


No i właśnie o coś takiego mi chodziło, tylko nikt nie potrafił mi tego powiedzieć, a moja znajomość z php zaczęła się kilka dni temu, więc sam też nie znalazłem...
W każdym razie dzięki - pomogliście smile.gif
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 - 18:30