Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak zablokować ciąg
maciu
post 6.09.2003, 17:48:40
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


Poprzez formularz dodaje do bazy tekst. W jaki sposób zrobić, aby do bazy nie zostały dodane znaczniki <BR> (<br>, <br /> <BR />). Krótko mówiąc zablokować możliwość dodawania tych znaczników do bazy.
Go to the top of the page
+Quote Post
adwol
post 6.09.2003, 17:59:06
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
Poprzez formularz dodaje do bazy tekst. W jaki sposób zrobić, aby do bazy nie zostały dodane znaczniki <BR> (<br>, <br /> <BR />). Krótko mówiąc zablokować możliwość dodawania tych znaczników do bazy.

Tylko tych:
[php:1:522f7bb7ed]<?php
$tekst = preg_replace('|<br.*?>|i', '', $tekst);
?>[/php:1:522f7bb7ed]
czy wszystkich:
[php:1:522f7bb7ed]<?php
$tekst = strip_tags($tekst);
?>[/php:1:522f7bb7ed]
Go to the top of the page
+Quote Post
maciu
post 7.09.2003, 10:46:32
Post #3





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


To czym się różnie funkcja preg_replace od str_replace?

I mógłbyś dokładnie wytłumaczyć znak po znaku wyrażenie
[php:1:7f2010f749]
|<br.*?>|i
[/php:1:7f2010f749]
Go to the top of the page
+Quote Post
adwol
post 7.09.2003, 11:33:05
Post #4





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
To czym się różnie funkcja preg_replace od str_replace?

Tym, że str_replace wymienia stałe frazy w ciągu, a preg_replace korzysta z wyrażeń regularnych.
Cytat
I mógłbyś dokładnie wytłumaczyć znak po znaku wyrażenie
[php:1:92cac06ad8]
|<br.*?>|i
[/php:1:92cac06ad8]

Znaki | ograniczają właściwe wyrażenie regularne. Litera i na końcu to flaga oznaczająca, że ciąg ma być dopasowywany z ignorowaniem wielkości znaków. Część główna (<br.*?>) to właściwe wyrażenie. .*? oznacza ,,dowolny ciąg znaków niezachłannie'', reszta to zwykłe znaki pasujące do samych siebie. W tym kontekscie to wyrażenie pasuje do tagu br z dowolnymi atrybutami.

Przepraszam, jeśli nie zrozumiałeś tego wyjaśnienia, ale nie mam Ci jak tego wytłumaczyć bez podstaw wyrażeń regularnych.
Go to the top of the page
+Quote Post
BzikOS
post 7.09.2003, 12:36:41
Post #5





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Tak się wtrącę... funkcja strip_tags jako opcjonalny argument może przyjąć dozwolone tagi, a resztę usunąć, czyli:

[php:1:719e9eb483]<?php
$string = strip_tags($string, '<a><b><i><u>');
?>[/php:1:719e9eb483]

wywali ze $stringu wszystkie tagi poza a, b, i, u.
Go to the top of the page
+Quote Post
maciu
post 7.09.2003, 16:50:21
Post #6





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


Podstawy wyrażeń regularnych znam i wszystko zrozumiełem co mi przekazałeś. Także bardzo dziękuje Ci za pomoc.
Go to the top of the page
+Quote Post
maciu
post 8.09.2003, 11:57:31
Post #7





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


jeszcze jedno pytanie związane z tematem

W jaki sposób zrobić, aby w ciągu kasował wszystkie znaki oprócz liczb?
Go to the top of the page
+Quote Post
adwol
post 8.09.2003, 19:25:32
Post #8





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
W jaki sposób zrobić, aby w ciągu kasował wszystkie znaki oprócz liczb?

[php:1:4cf8edc206]<?php
$tekst = preg_replace('/[^0-9]/', '', $tekst);
?>[/php:1:4cf8edc206]
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 Wersja Lo-Fi Aktualny czas: 26.06.2025 - 01:15