Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> szukam funkcji podobnej do htmlspecialchars
jolam
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

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


Potrzebuje zamieniać pojedyńcze znaki <,>, & i inne, ale jednocześnie chciałabym, żeby znaczniki HTML pozostawały niezmienione. Czyli <p> pozostaje <p> ale < jest zamieniane na odpowiednią encje.
Jest taka funkcja? Bardzo jej potrzebuję..
pozdrawiam Jola
Go to the top of the page
+Quote Post
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Nie ma(prawdopodobnie) - ale możesz sobie napisać ją samemu(wbrew pozorom nie jest to wcale takie trudne) smile.gif


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





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


@fifi: ale to nie zadziala, bo to usuwa tagi, a > w " 123 > 10" nie jest tagiem.

@jolam
Domyslam sie zapisujesz tresc strony w bazie/pliku wraz z tagami html,a chcesz zeby pozostale &, <, > byly zamieniane na encje.

No raczej nie prosto to zrobic, bo jak jest tag zdefiniowany? <cos ...............> lub </cos>, a jak stwierdzisz ze tagiem nie jest "count<liczba ....... 21>10"
albo jak bedziesz chciala napisac artykul o tagach html? Nie bedziesz mogla zapisac "Tabelke zaczynamy od <table>".

Moze zainteresuj sie skladnia bbcode/wiki/itp jak np. Textile - mozesz zachowac podstawowe formatowanie htmlowe, i nadal zapisywac < > (z tego co widze to radzi sobie z luznymi < i > i akceptuje takze html <hr /> zamieni na linie.

Uzycie skladni: http://hobix.com/textile/
Klasa w php: http://textile.thresholdstate.com/

Albo zapisuj sobie & i < > od razu, recznie jako encje.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
jolam
post
Post #4





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

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


dr_bonzo ja w bazie danych nie trzymam całych stron. Może to błąd? Ale do pliku index.php podpinam funkcją include nagłówek, stopkę i inne stałe elementy szablonu. A jedynie to co się zmienia, czyli np treść artykułów pobieram z bazy. I właśnie problem w tym, że zwykle nie mam w tekstach żadnych znaków dziwnych smile.gif i dlatego nie musiałam zamieniać ich na encję ale ostatnio kilka takich wstawiłam w treść i już Validator informuje o błędzie. Dlatego spróbowałam użyć funkcji htmlspecialchars no i mi się wszystkie znaczniki paragrafów posypały sad.gif

Teraz dopiero dostrzegłam jakim problemem są znaczniki HTML w treści strony, dawniej widziałem tylko trudność w ich wstawianiu. A teraz już widzę, że jak nie da się ich odróżnić od tekst/treści to jest problem z funkcjami właśnie na treść działającymi. Powiedz czy jest jakieś inne rozwiązanie niż te inne znaczniki?

pozdrawiam serdecznie Jola

postscriptum
czy mógłby mi ktoś wskazać jakieś porównanie tych różnych systemów znaczników? albo króciuteńko napisać?

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





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Cytat
Powiedz czy jest jakieś inne rozwiązanie niż te inne znaczniki?

Juz mowilem, skoro znasz html, jako edytor stron, to wpisuj tam prawidlowy hmtl, czyli to co ma wygladac jak <, > , & wpisuj jako encje.

Albo nie uzywaj tagow hmtl -> textile itp.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
jmail
post
Post #6





Grupa: Zarejestrowani
Postów: 352
Pomógł: 53
Dołączył: 10.08.2009

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


skoro cała treść ma być w bazie to po co chcesz to zamieniać? użyj dobrego edytora webowego na przykład fckeditor
Go to the top of the page
+Quote Post
gcdreak
post
Post #7





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

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


Poprostu możesz użyć str_replace:
  1. echo str_replace('<', '&lt;',str_replace('>', '&gt;', $str))


Kolejne znaki zamienisz dodając kolejne poziomy.
Go to the top of the page
+Quote Post
jolam
post
Post #8





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

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


dr_bonzo ja znam HTML ale encje nie są takie przyjazne jak ich normalne odpowiedniki, dlatego nie chce ich wpisywać. Poczytałam o tym bbcode i już się zdecydowałam prawie na jego zastosowywanie. Tak będzie najłatwiej dla mnie. Jedynie nie moge znaleźc funkcji PHP która zamieniałaby tekst ze znacznikami bbcode na znaczniki HTML. Mógłbys mi powiedzieć jak w takim razie mogę przekonweertowac tekst ze znacznikami bbcode na tekst ze znacznikami HTML?

pozdrawiam serdecznie Jola
Go to the top of the page
+Quote Post
Fifi209
post
Post #9





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


preg_replace ?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
gcdreak
post
Post #10





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

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


@fifi209
Preg_replace jest wolniejsze id str_replace.
Zastosuj str_replace do zamiany znaczników albo tą klase.
Go to the top of the page
+Quote Post
krzysiej
post
Post #11





Grupa: Zarejestrowani
Postów: 25
Pomógł: 3
Dołączył: 5.08.2009

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


ja używam nbbc, bardzo łatwo się go implementuje w kod, nie gryzie się z niczym i ma bardzo dobrą dokumentację
http://nbbc.sourceforge.net/
dokumentacja http://nbbc.sourceforge.net/doc
a przykładowy kod wygląda tak (bez tych spacji w tagach bbcode):
  1. <?php
  2. require_once("nbbc.php");
  3. $bbcode = new BBCode;
  4. print $bbcode->Parse("[ i ]Hello, World![ / i ] This is the magic of [ b ]BBCode[ / b ]!");
  5. ?>

to powyżej wyświetli:
Hello, World! This is the magic of BBCode!
czyli faktycznie:
  1. <i>Hello, World!</i> This is the magic of <b>BBCode</b>!


Ten post edytował krzysiej 14.08.2009, 16:50:09
Go to the top of the page
+Quote Post
dadexix
post
Post #12





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

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


A mozesz powiedziec po co Ci to jest potrzebne? moze nie jest problemem to CO uzywasz ale GDZIE i KIEDY...winksmiley.jpg


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post
jolam
post
Post #13





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

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


Ja wiem jak napisać taką funkcję gotową ale aż nie mogę uwierzyć, że w PHP jej nie ma? No bardzo się zdziwiłam. Taka popularna sprawa i albo sama musze napisać albo ściągać jakieś dodatki, które może nie na każdym serwerze będą działać.

pozdrawiam Jola
Go to the top of the page
+Quote Post
Fifi209
post
Post #14





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(jolam @ 14.08.2009, 19:07:14 ) *
Ja wiem jak napisać taką funkcję gotową ale aż nie mogę uwierzyć, że w PHP jej nie ma? No bardzo się zdziwiłam. Taka popularna sprawa i albo sama musze napisać albo ściągać jakieś dodatki, które może nie na każdym serwerze będą działać.

pozdrawiam Jola


To napisz sama? Kwestia kilku linijek dosłownie. No właściwie to i w jednej się zmieści.

  1. function nazwa($text) { return str_replace(array(), array(), $text); }


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
dadexix
post
Post #15





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

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


Stworz tablice ze wszystkimi tagami html to bedzie fajnie:D


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post
Fifi209
post
Post #16





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(dadexix @ 14.08.2009, 19:15:36 ) *
Stworz tablice ze wszystkimi tagami html to bedzie fajnie:D


Przecież wystarczy zamienić:
< > &


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
dadexix
post
Post #17





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

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


Cytat
Potrzebuje zamieniać pojedyńcze znaki <,>, & i inne, ale jednocześnie chciałabym, żeby znaczniki HTML pozostawały niezmienione. Czyli <p> pozostaje <p> ale < jest zamieniane na odpowiednią encje.


tresc:
Kod
<div style="xx"><b>zamien to w </b> ten oto> > > sposob:D</b></div>


Edit: za pozno wyczailem ze Tobie chodzilo o pisanie funkcji do zamiany na bb codes... ale co ma do tego <,>,& to ja nie wiem:D

Ten post edytował dadexix 14.08.2009, 19:32:15


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post
jolam
post
Post #18





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

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


teraz to już raczej chodzi mi o funkcje zamieniającą html na bbcode i odwrotnie, na razie napisałam własną, ale może są gotowe i są lepsze, szybsze sama już nie wiem

A czy w bbcode są odpowiendiki tabel z html? bo by mi się przydaly takie tabele w bbcode

pozdrawiam Jola
Go to the top of the page
+Quote Post
Fifi209
post
Post #19





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(jolam @ 15.08.2009, 12:46:07 ) *
A czy w bbcode są odpowiendiki tabel z html? bo by mi się przydaly takie tabele w bbcode

pozdrawiam Jola


Szczerze to wątpię, ale są biblioteki gdzie możesz dodać swoje znaczniki etc.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
jolam
post
Post #20





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

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


fifi209 mógłbyś coś więcej napisać o tym? Jedyne co mi przyszło do głowy to zastąpienie <,> w znacnzikach tabel html na [,]. Dobrze to wymyśliłam?

Bardzo chciałam prosić o jeszcze jedną rzecz. Męczyłam si,ę z tym już bardzo długo, ale nie wiem jak to zrobić, a nie mogę znaleźć żadnego przykładu w internecie. Jak przy pomocy PDO utworzyć bazę SQLite a w niej tabelę z kolumnami. I jak wysyłać zapytania do tej bazy? Bardzo proszę o jakiś przykład, nie potrafię sama tego zrobić sad.gif
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 - 04:50