Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP]wyłączenie z formatowania znaczników
shreker
post 12.03.2015, 09:05:27
Post #1





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


Witam, podobnie ja w temacie potrzebują wyeliminować z przetwarzania stringu wszystko co jest w znacznikach, łącznie ze znacznikami.
Załóżmy że mamy string np w postaci:
  1. jakis tam string <code>zawartosc</code> dalsza czesc stringu <znacznik>kolejna zawartosc</znacznik> cos tam dalej ...

Obecnie zarówno znaczniki jak i ich zawartość jest przetwarzana, ja potrzebuję zostawić oryginalną postać. Domyślam się że można to by było zrobić przy pomocy wyrażenia regularnego, jadnak na razie nigdzie nie znalazłem jak.
Dzieki za pomoc.
Go to the top of the page
+Quote Post
com
post 12.03.2015, 09:31:52
Post #2





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


http://php.net/htmlspecialchars
Go to the top of the page
+Quote Post
shreker
post 12.03.2015, 09:41:37
Post #3





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


htmlspecialchars - konwertuje znaki specjalne na znaczniki, a mi chodzi o to co napisałem w temacie i opisie
Go to the top of the page
+Quote Post
com
post 12.03.2015, 09:43:09
Post #4





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


przeczytaj jeszcze raz co robi htmlspecialchars smile.gif
Go to the top of the page
+Quote Post
nospor
post 12.03.2015, 09:44:39
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1)
Zamien
<znacznik>kolejna zawartosc</znacznik>
na #ZNACZNIK# - proste wyrazenie regularne z preg_replace

2) Rob sobie to przetwarzanie jak chciales

3) Zamien #ZNACZNIK# na <znacznik>kolejna zawartosc</znacznik>
Tu juz zwykle str_replace


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
com
post 12.03.2015, 09:47:44
Post #6





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


http://ideone.com/4a4mRT
Ponieważ to tryb CLI to widać &lt; ale przeglądarka zrobi z tego normalne znaki
Go to the top of the page
+Quote Post
shreker
post 12.03.2015, 09:47:46
Post #7





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


Wiem co robi ta funkcja, chodzi mi tak jak napisałem żeby znaczniki i ich zawartość były pozostawione bez zmian po przepuszczeniu przez inną funkcję zewnętrzną która rozbija cały string na tablicę, przetwarza poszczególne jej elementy, a po przetworzeniu zpowrotem łączy w string. ta funkcja dodatkowo przetwarza mi znaczniki i ich zawartość, a mi chodzi o to żeby te elementy zostały pominięte.
Go to the top of the page
+Quote Post
nospor
post 12.03.2015, 09:51:46
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@shreker napisalem ci jak to zrobic.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
com
post 12.03.2015, 09:55:17
Post #9





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


no to tak jak napisał nospor, pierwszy post był nie do końca jasny smile.gif
Ale to chyba tu bardziej jakimś parserem html/xml pasuje
Go to the top of the page
+Quote Post
shreker
post 12.03.2015, 10:01:07
Post #10





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


nospor - dzięki, twój pomysł i porada są ok, tylko że ja muszę "pominąć" z formatowania wszystko "od znacznika - do końca znacznika" czyli od rozpoczynającego "<" ... zawartość aż do zamykającego znacznika ">", cała ta zawartość musi być wyeliminowana ze stringu przed "rozbiciem" na tablicę, inaczej później poszczególne elementy zostaną przetworzone :-( Dlatego właśnie myślałem o jakimś wyrażeniu regularnym, tylko nokpletnie nie wiem jak to zrobić
czyli przed rozbiciem na tablicę muszę mieć postać:
z: jakis tam string <code>zawartosc</code> dalsza czesc stringu <znacznik>kolejna zawartosc</znacznik> cos tam dalej ...
na: jakis tam string dalsza czesc stringu cos tam dalej ...

Ten post edytował shreker 12.03.2015, 10:03:57
Go to the top of the page
+Quote Post
nospor
post 12.03.2015, 10:05:49
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No przeciez ci dokladnie to napisalem. Tylko ze w wyniku nie bedziesz mial
jakis tam string dalsza czesc stringu cos tam dalej ...
a bedziesz mial
jakis tam string dalsza czesc stringu #ZNACZNIK# cos tam dalej ...

No przeciez musisz wiedziec, gdzie potem masz ten znacznik przywrocic, no nie?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Pyton_000
post 12.03.2015, 10:07:03
Post #12





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


strip_tags ?
Go to the top of the page
+Quote Post
com
post 12.03.2015, 10:11:48
Post #13





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


http://php.net/manual/en/function.strip-tags.php
Nie jest to idealne ale może pomoże
nospor tak tylko że on jak rozbija to do przetwarzania to potrzebuje sam tekst bez znaczników. Problemem będzie za to tak jak mówisz ich przywrócenie potem

O Pyton_000 mnie ubiegł biggrin.gif

Ten post edytował com 12.03.2015, 10:12:22
Go to the top of the page
+Quote Post
shreker
post 12.03.2015, 10:11:58
Post #14





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


wiem nospor, tylko czy nie da się zrobić tak jak napisałem - czyli żeby wyciąć opisane cześci?
Go to the top of the page
+Quote Post
nospor
post 12.03.2015, 10:13:38
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@shreker jesli wytniesz calkowicie to jak to potem przywrocisz? Skad bedziesz wiedzial gdzie masz przywrocic?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
shreker
post 12.03.2015, 10:18:29
Post #16





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


to nie ma być przywracane, przetwarzane mają być tylko elementy które nie są znacznikami
czyli nie: jakis tam string <code>zawartosc</code> dalsza czesc stringu <znacznik>kolejna zawartosc</znacznik> cos tam dalej ...
ale: jakis tam string zawartosc dalsza czesc stringu kolejna zawartosc cos tam dalej ...

Ten post edytował shreker 12.03.2015, 10:20:45
Go to the top of the page
+Quote Post
nospor
post 12.03.2015, 10:21:02
Post #17





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




facepalmxd.gif
To po grzyba ta cala gatka o przetwarzaniu i takie tam... Twoje pytanie powinno brzmiec:

Mam taki a taki tekst. Jak z niego usunac zawartosc znacznika wraz z całym znacznikiem?

I tyle. Proste i czytelne pytanie, bez zbednego mieszania...
albo strip_tags
albo wyrazenie regularne i preg_replace


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
shreker
post 12.03.2015, 10:22:47
Post #18





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


sorry, może trochę źle sformułowałem, a coś więcej, jak to zrobić ?
Go to the top of the page
+Quote Post
nospor
post 12.03.2015, 10:23:48
Post #19





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Przeciez napisalem
Cytat
albo strip_tags
albo wyrazenie regularne i preg_replace

Czego nie rozumiesz?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
shreker
post 12.03.2015, 10:24:56
Post #20





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


chodzi mi o wyrazenie regularne, jak to mniej więcej miałoby wyglądać?
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 Wersja Lo-Fi Aktualny czas: 24.07.2025 - 15:36