![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czesc,
mam takie pytanie - gdy wypisuje sobie fragmenty tekstu i ktorys z nich zaczyna sie od < lub / to dodaje mi srednik! czasem, po niektorych znakach dodaje mi >. Czego moglabym uzyc aby tego uniknac? pzdr, misty Ten post edytował misty 18.01.2012, 13:45:11 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 702 Pomógł: 65 Dołączył: 16.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
np. : preg_replace , str_replace
-------------------- Nie udzielam pomocy poprzez PW
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
No co Ty. Ale przeciez te > itp to sa jakies specjalne znaki ktore sa dodawane przed jakimis specjalnymi znakami, np wlasnie przed /. Nie znam calej listy tych znakow ktore mialabym usuwac. Nie ma do tego niczego gotowego?
pzdr |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Doprecyzuj pytanie. Z tego co widzę to masz jakieś rozwiązanie które dodaje tekst do bazy, wcześniej przepuszczając go przez jakąś pseudo-walidację. -------------------- Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore
I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@misty ostatnio pisałem ci o htmlspiecialchars(). Jesli tego używasz to nic dziwnego ze dostajesz co dostajesz.
Pokaż lepiej cały kod, i pokaż dokładnie tekst na jakim operujesz -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 5 Dołączył: 16.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
htmlspecialchars_decode
Problem polega na tym, że masz dwukrotnie filtrowany tekst (albo i lepiej), tzn jeśli wpiszesz np.: "Test" zapisać powinno: Kod "Test" natomiast, Ty to filtrujesz 2-krotnie, w wyniku czego dostajesz: Kod "Test" EDIT: ehh, forum mi parsuje posta, więc nie ma on żadnego sensu, jeśli chodzi o przykłady. To jest oczywiście moje przypuszczenie, niestety nie pokazałaś żadnych konkretnych informacji nt kodu, tekstu itd., więc można powiedzieć, że wróżę teraz z fusów. Ten post edytował vee 18.01.2012, 13:57:36 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dobra, wiec po kolei. Mam sobie pole w bazie ktore trzyma tekst. Tekst ten moze byc dlugi, dlatego tez musze go ciac (po stronie php). Definiuje max dlugosc linijki i po takiej dlugosci tne tekst. Tekst ten moze byc zwyklym tekstem lub moze byc to xml. Wczesniej pisalam o tym ze nie wychwyca mi tagow xml, dlatego teraz uzywam htmlspecialchars, czyli:
i potem to $msg tne. Oczywiscie dla xmli zdarza sie ze uciete sa tagi, ze nowa linijka zaczyna sie od / lub <. I to jest ok z punktu widzenia tego co ma byc. Jednak zauwazylam ze gdy niektore linijki zaczynaja sie od pewnych znakow, to dodawane sa jakies ekstra. Podam pare przykladow: - tutaj nie powinno byc srednika - tu z kolei na koncu nie powinno byc &g Znaki te same mi sie dodaja. Chcialabym sie dowiedziec co moge z tym zrobic, zeby sie nie dodawaly. pzdr, misty |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat i potem to $msg tne misty, w ogole nie przyjelas do wiadomosci poprzedniego tematu :/htmlspiecialchars sluzy tylko i wylacznie do wyswietlania na ekran, by zobaczyc co tam dokladnie siedzi. skoro ty robisz operacje na tekscie to nie wolno ci stosować htmlspiecialchars bo zaburzasz strukture tekstu. Tlumaczylem ci przecież ze te znaczniki XML ty ciągle masz tylko nie wyświetla ich przeglądarka. Zrozum to wkoncu dziewczyno. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
No ale zrozum ze ja je musze wyswietlic!
jak robie: echo $chunk to $chunk musi zawieraz tez te znaczniki, wypisane na ekran, jako tekst. Jak nie dawalam wczesniej htmlspecialchars na $msg to w ogole mi tych znacznikow nie widzial (oczywiscie, byly w zrodle strony, ale nie o to mi przeciez chodzi). Kumasz co ja musze osiagnac? 1. Mam tekst ktory moze byc xml'em 2. Zanim rozpoczne moja petle w ktorej tne go na N znakow w moim $msg (gdzie znajduje sie caly tekst) musza byc rowniez znaczniki xml aby liczenie sie zgadzalo 3. Wyswietlam fragment po fragmecie, czyli kazdy pociety $chunk 4. $chunk moze zawierac przelamane tagi xml, czyli moze zaczynac sie od <, >, /, etc 5. W $chunk nie moga sie pojawic zadne dodatkowe rzeczy typu jakies > czy dodatkowe sredniki Mozliwe ze zle podeszlam do tematu skoro teraz mam ten problem. Ale to czy ktos z Was jest mi w stanie powiedziec czego powinnam uzyc by uzyskac to czego chce? pzdr, misty |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat No ale zrozum ze ja je musze wyswietlic! To sobie wyświetlaj! Nikt ci tego nie broni. Ale htmlspiecialchars masz użyc bezposrednie przed wyswietleniem, a nie przed operacjami na tym tekscie!Cytat Kumasz co ja musze osiagnac? Ja cały czas kumam, tylko ty nie.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
No wlasnie widze. to na $chunk powinnam tego uzyc, czyli juz na pocietym kawalku, a nie na samym poczatku. Juz kumam, dzieki
![]() pzdr! misty |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Jak muszę podzielić jakiś tekst (zajawki itp) to nie dziele go ilością znaków, a dziele go ilością wyrazów. Możesz sobie założyć jakąś średnią ilość tych wyrazów i na podstawie tej średniej dzielić swój tekst. Wtedy nie powstaną problemy z jakimś dziwnym rozdzielaniem wyrazów czy znaczników html/xml. IMO jedyne co powinnaś robić na takim tekście to escape, a później stripslashes. htmlspecialchars, nie jest ci do niczego potrzebny, jeżeli potrzebujesz wyświetlić html/xml. Chyba że te znaczniki mają się wyświetlić, w sensie listowanego kodu, to wtedy możesz użyć htmlspecialchars plus dzielenie na wyrazy, coby się te znaczniki nie rozwalały.
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli to xml to chyba wypadało by wyświetlać go poprzez nagłówek jako XML. Jest to chyba logiczne i nie widzę sensu w htmlspiecialchars. Skoro nie wyświetlasz go jako xml tylko jako normalny tekst to równie dobrze możemy sobie darować te znaczniki. Chyba że ty z celową premedytacją wyświetlasz xml jako html, wtedy zwracam honor i przepraszam za przytyk.
Ten post edytował Uriziel01 18.01.2012, 14:21:11 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
tak, takie jest wymaganie, pisalam o tym wczesniej. To ma sie wyswietlac jako zwykly tekst (html), tagi moga by rozwalone, kryterium jest zachowanie N dlugosci znakow.
Juz mi dziala, problelem bylo to ze uzywalam htmlspecialchars na poczatku, zamiast uzyc tego na koncu, przed samym wyswietleniem. dzieki za wszystkie rady, pzdr, misty |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 00:18 |