Odstranenie tagu <big /> – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Odstranenie tagu <big /> – PHP – Fórum – Programujte.comOdstranenie tagu <big /> – PHP – Fórum – Programujte.com

 

Lordest0
Super člen
27. 2. 2009   #1
-
0
-

Potreboval by som poradit, urobil som si komentare ku newskam no lenze neviem odstranit ten problem ze ak naky user za"biguje" koment tak mi moze totalne rozdr*at stranku cize to musim spravit niaky script ze ak user zadal <big/> tak nech nezasle koment a presmeruje ho na urcenu stranku

if(nieco) {

header("Location: url_adresa");
}


potrebujem zistit to nieco.. cez isset to asi nepojde, neviem nemozete mi poradit?

Nahlásit jako SPAM
IP: 78.98.46.–
Lordest0
Super člen
28. 2. 2009   #2
-
0
-

to mi vazne nevie nik poradit?

Nahlásit jako SPAM
IP: 85.216.242.–
ETNyx0
Newbie
28. 2. 2009   #3
-
0
-
Nahlásit jako SPAM
IP: 89.102.145.–
marioff0
Expert
28. 2. 2009   #4
-
0
-

alebo je najlepsie pouzit regulerny vyraz, pred nedavnom som uz niekomu napisal hotove riesenie na velmi podobny problem.. staci pohladat...

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
Lordest0
Super člen
28. 2. 2009   #5
-
0
-

nejde to:(.. tu je cast suboru kde to je comments.php

if($_POST['antispam'] == '10') {


if ($delete_comment != NULL) {
$delete_comment_db = "DELETE FROM comments WHERE comment_id='$delete_comment'";
$delete_comment_db2 = mysql_query($delete_comment_db);
}

$u = "$nickname[0]";
$uid = $_COOKIE['user_id'];

if(!empty($_POST['comment_form'])){
$f = $_POST['comment_form'];
}

// odstranit BIG

$odstranit_problemBIG_form = $_POST['comment_form'];
$odstranit_problemBIG_function = strip_tags($odstranit_problemBIG_form, '<big>');
var_dump($odstranit_problemBIG_function);

$odstranit_problemBIG_form2 = $_POST['comment_form'];
$odstranit_problemBIG_function2 = strip_tags($odstranit_problemBIG_form, '</big>');
var_dump($odstranit_problemBIG_function2);

// odstranit SMALL

$odstranit_problemSMALL_form = $_POST['comment_form'];
$odstranit_problemSMALL_function = strip_tags($odstranit_problemBIG_form, '<small>');
var_dump($odstranit_problemSMALL_function);

$odstranit_problemSMALL_form2 = $_POST['comment_form'];
$odstranit_problemSMALL_function2 = strip_tags($odstranit_problemBIG_form, '</small>');
var_dump($odstranit_problemSMALL_function2);

$c_db = "INSERT INTO comments(comment_author, comment_form, comment_type, poster_id, post_date) VALUES('$u', '$f', '$news_id', '$uid', NOW())";
$c_db2 = mysql_query($c_db);

header("Location: http://adresaurl/read.php?id=$news_id");
} else {
header("Location: http://adresaurl/read.php?id=$news_id");
}


a nejde to omg,
tej druhej funkcii co si mi poslal vobec ale vobec nechapem.. xD.. viem ze len to body je premenna to black je to comu sa premenna rovna a posledne je to co sa zobrazi no neviem ako to pouzit..

2 marioff : aky regularny vyraz? :D..

alebo teraz ma to napadlo, nepojde to nahodou cez funkciu explode?
alebo tie var_dump treba premenit na premenne a tie poslat do db? ked tak ako to spojit?
omg ja som zufaly z toho.. alebo tu funkciu mam pouzit pri vyberani ale ako to spojit omg

Nahlásit jako SPAM
IP: 85.216.242.–
marioff0
Expert
28. 2. 2009   #6
-
0
-

chlape,

ak chces aby uzivatel mohol "bígovať" a "smólovať" , prebehni komentar takymto nejakym regom:

$_POST['comment_form'] = preg_replace("(\<big\>(.+?)\<\/big\>)is",'<strong>$1</strong>',$_POST['comment_form']);

$_POST['comment_form'] = preg_replace("(\<small\>(.+?)\<\/small\>)is",'<small>$1</small>',$_POST['comment_form']);


a hned nato zamen zobaciky (< a >) za entity (konkretne utf8):

$_POST['comment_form'] = str_replace("<","<",$_POST['comment_form']);

$_POST['comment_form'] = str_replace(">",">",$_POST['comment_form']);


a jeto hned kratsie a istejsie ako ta tvoja "prasacina" :smile4:

hadam ti to uz pojde...

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
ETNyx0
Newbie
28. 2. 2009   #7
-
0
-

HH k tomu kodu co jsi poslal :-D tak nez bezhlave začneš používat funkce tak si tu stránku aspon přečti :-D

Popis
string strip_tags ( string $str [, string $allowable_tags] ) # tot format prvni agrumet je ten retezec ten tam musís dát je to poviný, druhej argument je nepovinný a když neumís anglicky tak zkus použit slovník na allowable připadně čti dál,...

Volitelný druhý argument můžete použít k určení tagů, které se nemají odstranit.

viz první link co sem poslal takze kdyz do toho kodu napíšeš neco jako tam maš tohle
$odstranit_problemBIG_function = strip_tags($odstranit_problemBIG_form, '<big>');
tak se to snaží odstranit všechny tagy až na ten <big> + jak tam mas ten var_dump() tak to mi prijde taky dost divný pokud vím tak to je vytisknutí informace o proměný a ty chces jen uložit do dtb tak to tam být vubec nemusis.

takze by v melo stacit tohle k odstraneni toho tech znacek:



$_POST["comment_form"] = strip_tags($_POST["comment_form"]);
my_query("INSERT INTO tabulka VALUES (".$_POST["comment_form"].") );


btw dobrý jsou taky posty co posílaj lidičky k ty funkci vetsinou vidis jak to funguje v praxi :-)
viz:

$data = '<br>EachNewLine';
$new = strip_tags($data, '');
var_dump($new); // OUTPUTS string(16) "EachNewLine"

jinak muzes použit co navrhuje marioff vypada to zajimave akorat si to jeste nekde nastuduj co tam presne dela at vis jak se to tvori jinak zitra budes vedet prd a v tom druhym kodu
$_POST['comment_form'] = str_replace("<","<",$_POST['comment_form']);

$_POST['comment_form'] = str_replace(">",">",$_POST['comment_form']);

ma byt misto >,< & g t ; (bez mezer) (a ekvivalent) on to tam urcite ma jen se to prelozilo, jen aby ses nedivil :-)

Nahlásit jako SPAM
IP: 89.102.145.–
Lordest0
Super člen
6. 3. 2009   #8
-
0
-

marioff napsal:
chlape,

ak chces aby uzivatel mohol "bígovať" a "smólovať" , prebehni komentar takymto nejakym regom:

$_POST['comment_form'] = preg_replace("(<big>(.+?)</big>)is",'<strong>$1</strong>',$_POST['comment_form']);

$_POST['comment_form'] = preg_replace("(<small>(.+?)</small>)is",'<small>$1</small>',$_POST['comment_form']);


a hned nato zamen zobaciky (< a >) za entity (konkretne utf8):

$_POST['comment_form'] = str_replace("<","<",$_POST['comment_form']);

$_POST['comment_form'] = str_replace(">",">",$_POST['comment_form']);


a jeto hned kratsie a istejsie ako ta tvoja "prasacina" :smile4:

hadam ti to uz pojde...



ja prave nechcem aby mohol smolovat alebo bigovat.. chcem aby sa to vpodstate z toho komentu odstranilo..

Nahlásit jako SPAM
IP: 85.216.242.–
Petr
~ Anonymní uživatel
746 příspěvků
9. 3. 2009   #9
-
0
-

a co to jednoduše vyřešit takto

$komentar=$_POST['comment_form'];

$komentar=htmlspecialchars($komentar);

Nahlásit jako SPAM
IP: 85.13.127.–
Lordest0
Super člen
9. 3. 2009   #10
-
0
-

a tym vyriesim co? lebo uz nepotrebujem iba big a pod., radsej by som potreboval vediet ako odstranit celkovo VSETKY tagy, aby sa ani nezobrazili a ani aby nefungovali..

Nahlásit jako SPAM
IP: 85.216.242.–
7raul
~ Anonymní uživatel
155 příspěvků
9. 3. 2009   #11
-
0
-

To Lordest :
tu je nejaky priklad ako to spravit

<? $obsah = $_POST['obsah'];

$obsah = EregI_Replace("co nahradit", "nahradit cim", $obsah);
echo $obsah;

a takto v praxi:
<? $obsah = $_POST['obsah'];

$obsah = EregI_Replace("<strong>", "", $obsah);
$obsah = EregI_Replace("<big>", "", $obsah);
$obsah = EregI_Replace("<div>", "", $obsah);
echo $obsah;

len je to dost pracne...ale snad pomoze ;)

Nahlásit jako SPAM
IP: 91.127.35.–
crAzY^
~ Moderátor
+10
Grafoman
9. 3. 2009   #12
-
0
-

možná by stačilo



$obsah = eregi_replace("<.+>", "", $obsah);

Nahlásit jako SPAM
IP: 89.190.64.–
All you need is vision and time.
Lordest0
Super člen
10. 3. 2009   #13
-
0
-

crAzY^ napsal:
možná by stačilo


$obsah = eregi_replace("<.+>", "", $obsah);


nice , dik funguje to. i ked som to musel trocha poupravit na vlastnu formu, ale pomohlo to.. dik all

Nahlásit jako SPAM
IP: 85.216.242.–
Anonym
~ Anonymní uživatel
454 příspěvků
10. 3. 2009   #14
-
0
-

To crAzY^ :
Ne, ze bych byl nejaky expert(zvlast ne v PHP nebo co to je), ale tenhle kod imho kvuli 'zravosti' reg. vyrazu sezere vsechno od 1. '<' az po posledni '>', tedy napr. v pripade textu: 'zkouska <b>tucnosti</b> a <i>italiky</i>' z toho zbude jen 'zkouska ' misto 'zkouska tucnosti a italiky'.

Nahlásit jako SPAM
IP: 83.208.42.–
Lordest0
Super člen
10. 3. 2009   #15
-
0
-

Anonym napsal:
To crAzY^ :
Ne, ze bych byl nejaky expert(zvlast ne v PHP nebo co to je), ale tenhle kod imho kvuli 'zravosti' reg. vyrazu sezere vsechno od 1. '<' az po posledni '>', tedy napr. v pripade textu: 'zkouska <b>tucnosti</b> a <i>italiky</i>' z toho zbude jen 'zkouska ' misto 'zkouska tucnosti a italiky'.



toho som si vedomy.. lenze ja som si to tak trochu upravil a k tomuto prikladu co si uviedol po mojom upraveni nemoze dojst..

Nahlásit jako SPAM
IP: 85.216.242.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 48 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý