Ukrycie ciągu znaków

0

Czy jest sposób w php na ukrycie ciągu znaków, ewentualnie na zmianę wyświetlania na stronie.? Chodzi mi o to żeby po pobraniu z bazy określony ciąg znaków nie był wyświetlany ale nie został też usunięty.

0

Nie wiem jak reszta ale ja nie rozumiem o co pytasz...
Przecież to Ty decydujesz o tym jakie dane z bazy są wyświetlane...

0

Okej ale powiedzmy że chce ukryć ciąg znaków "abcd" chce, żeby było wyświetlane wszystko, bez tych znaków, albo podmienione przy wyświetlaniu na coś innego na przykłąd xxxx. Aczkolwiek nie chce, żeby coś się zmieniało w bazie. Konkretnie chodzi mi o to, że podczas wyświetlania elementu bazy, zwykły tekst jest wywietlany prawidłowo, a kod który mam w znaczniku <xmp> wyświetlany jest z
chciałbym ukryć ten znacznik, żeby nie był widoczny dla osoby któa podgląda kod.

0

No to wykonaj str_replace, ale nie zapisuj zmienionych danych do bazy? :|
Nie widzę żadnego problemu tutaj.

0

Okej jasne, wszystko ładnie działa, tylko po użyciu

str_replace 

zwykły tekst wyświetlany jest w ciągu zamiast linijka pod linijką. Fakt faktem w takim wypadku znikają znaczniki
z kodu który jest wyświetlany na stronie. Podczas gdy xmp zmienię na pre, wszystko ładnie działa, ale nie mogę wyświetlić normalnego kodu. Po zamianie zaś kodu na encje zostaje zamienione również ten kawałek kodu:

<script type="text/javascript">
  function wpisz(znak) { document.getElementById("tresc").value += '<xmp class="kod"></xmp>'+znak+' '; }
  </script>
<input class="format" type="button" value="</HTML>" onclick="wpisz('');">

Jest to button w formularzu, który służy do dodania takiego mojego bbcode. no i oczywiście po zamianie na encje wszystko się zlewa.

0

Chwila, moment, co Ty wyrabiasz?
Z Twojego opisu brzmi, jakbyś wywalał wszystkie bry z kodu strony, a nie samego ciągu pobranego z bazy.

0

Nie nie :) Ogólnie to co jest pobrane z bazy dzieli się na zwykły tekst któy jak mówiłem wyświetla się prawidłowo i na kod (PHP HTML CSS) któy również jest wyświetlany na stronie. Wszystko zapisane jest w bazie. Po wyciągnięciu z bazy jak wspomniałem wyżej wszystko wyświetla się prawidłowo, nie pokazuja sie br-y a tam gdzie miał być koniec linii jest koniec linii, zaś to, co jest zapisane w znacznikach <xmp> </xmp> wyświetla się również prawidłowo, jednakże wyświetlany jest każdy enter (w formie
) jak rozwiąże problem z tymi bra-mi poprzez Twoj sposób, to okazuje się, że zwykły tekst zamienia się na jeden wielki ciąg.

1

Więc spróbuj wykorzystać wyrażenia regularne i zamieniaj tylko ciągi wewnątrz znacznika xmp, tutaj powinny się akurat dobrze sprawdzić.

0

Dziękuje bardzo za zaintereswoanie moim postem. Mam rozumieć, że powinienem skorzystać z funkcji pregmatch? Powiem szczerze, że myślałem juz o tym tylko troche cieżko mi się za to zabrać, oczywiście nie chce żadnego gotowca, ale nie wiem co zrobić kiedy odnajde już określony ciąg. Może jakaś sugestia tudzież przykład?

0

Musisz odnaleźć ciągi między znacznikami xmp (zakładam, że one nie mogą się zawierać same w sobie! jeśli mogą, regexy nie są rozwiązaniem) i wywoływać na nim str_replace, znajdziesz przykłady w internecie.
Przyda Ci się także jakiś edytor regexów online, ja lubię wykorzystywać https://regex101.com

0

Z regexów jeszcze nie korzystałem ale chyba czas zacząć dzięki wielkie za pomoc, w razie gdybym czegoś nie wiedzia, to będę jeszcze pisał. Pozdrawiam i serdecznie dziękuje :)

0

Kurcze jednak chyba to za wysoka szkoła jazdy jak dla mnie, jeżeli ktoś ma chwile i mi pomoże to będę bardzo wdzięczny...

0

Źle do tego podchodzisz.
Najpierw naucz się korzystać z wyrażeń regularnych (masz poradniki oraz książki), a dopiero potem wróć do problemu.

0

Problem w tym ,ze jestem ograniczony czasem, ale jak trzeba to trzeba, pozdrawiam.

0

Mam coś takiego i nawet działa, ale kod wywietla się w nastepujacy sposób tekst bez enterów tekst z enterami, kod z enterami. ten pierwszy jets niepotrzebny ale nie moge sie go pozbyc...

echo  preg_replace('#<xmp class="kod">(.*?)</xmp>#si', str_replace('<br />', '', $l), $l); 
0

Mam jeszcze jeden problem
Potrzebuje przykładu wyrażnia regularnego, który w okreslonym rekordzie pobranym z bazy odnajduje ciąg poczatkowy i koncowy i w tym ciagu zamienia wartości Przykład rekordu:

To jest przykład kodu <xmp> To jest kod </br> kod kod </xmp>

I w tym przykładzie, miedzy znacznikami <xmp>

1 użytkowników online, w tym zalogowanych: 0, gości: 1