adre Skrevet 19. september 2012 Del Skrevet 19. september 2012 Hei. Adrian her. Jeg jobber med en nettside. Jeg bruker TinyMCE (advanced) som tillater deg og legge til bilder. Men jeg ønsker ikke og vise disse bildene på forsiden men på en detaljer side. Har satt opp både index.php og detaljer.php. Alt jeg trenger er scriptet som fjerner <img>. Jeg har prøvd $post = preg_replace("/<img[^>]+\>/i", "", $row['post']); Men ser ikke ut som om den vil fjerne fra TinyMCE. Jeg tror det er fordi TimyMCE legger til style. Noen som kan hjelpe meg? Lenke til kommentar
Mathias-S Skrevet 19. september 2012 Del Skrevet 19. september 2012 (endret) Koden skal da fungere, den, selv om du bruker style tags. Er du sikker på at du ikke har blandet $post og $row['post']? Dette vil jo ikke fungere: $post = preg_replace("/<img[^>]+\>/i", "", $row['post']); echo $row['post']; Men dette vil: $post = preg_replace("/<img[^>]+\>/i", "", $row['post']); echo $post; Eventuelt: $row['post'] = preg_replace("/<img[^>]+\>/i", "", $row['post']); echo $row['post']; Hvis det ikke er problemet, har du eksempler på <img>-tags som ikke blir fjernet? Endret 19. september 2012 av Mathias-S 1 Lenke til kommentar
adre Skrevet 19. september 2012 Forfatter Del Skrevet 19. september 2012 Koden skal da fungere, den, selv om du bruker style tags. Er du sikker på at du ikke har blandet $post og $row['post']? Dette vil jo ikke fungere: $post = preg_replace("/<img[^>]+\>/i", "", $row['post']); echo $row['post']; Men dette vil: $post = preg_replace("/<img[^>]+\>/i", "", $row['post']); echo $post; Eventuelt: $row['post'] = preg_replace("/<img[^>]+\>/i", "", $row['post']); echo $row['post']; Hvis det ikke er problemet, har du eksempler på <img>-tags som ikke blir fjernet? Koden min er: $post = preg_replace("/<img[^>]+\>/i", "", $row['post']); $post = substr($row ['post'],0,500)."..."; echo "<font color = '#fca00d'><h1>" . $row['title'] . "</h1></font>"; echo "<div class = 'posts'>" . $post . "</div><p> <a href = 'detaljer.php?id=" . $row['id'] . "'>Les mere/se bilder</a>"; echo "<div class='date'>" . $row['date'] . "</div><hr color = 'white'/>"; Glemte at dere kansje ville ha den Lenke til kommentar
Mathias-S Skrevet 19. september 2012 Del Skrevet 19. september 2012 Bytt ut $post = substr($row ['post'],0,500)."..."; med $post = substr($post,0,500)."..."; 1 Lenke til kommentar
adre Skrevet 25. september 2012 Forfatter Del Skrevet 25. september 2012 Bytt ut $post = substr($row ['post'],0,500)."..."; med $post = substr($post,0,500)."..."; Ah. Ser det nå. Takk Lenke til kommentar
Djn Skrevet 25. september 2012 Del Skrevet 25. september 2012 (endret) Såvidt jeg husker er "alt" (og diverse andre attributes <img> kan ha) definert som CDATA, og har egentlig lov til å inneholde >, så i teorien vil ikke den regexpen alltid fungere. I praksis er det veldig sjelden et problem - jeg mener å huske at det er anbefalt ("should", men ikke "must", i RFC-språk) å URL-encode < og >. edit: Aha, jeg har gravd litt i HTML5-standarden. Angående attributter: Attribute values can contain text and character references, with additional restrictions depending on whether they are unquoted attribute values, single-quoted attribute values, or double-quoted attribute values. Also, the HTML elements section of this reference describes further restrictions on the allowed values of particular attributes, and attributes must have values that conform to those restrictions. Angående double-quoted attributes: A double-quoted attribute value is specified by providing the following parts in exactly the following order: an attribute name zero or more space characters a single "=" character zero or more space characters a single """ character an attribute value a """ character In addition to the general requirements for attribute values, a double-quoted attribute value has the following restriction: must not contain any literal """ characters Angående text: Text in element contents (including in comments) and attribute values must consist of Unicode characters, with the following restrictions: must not contain U+0000 characters must not contain permanently undefined Unicode characters must not contain control characters other than space characters character data contains text, in some cases in combination with character references, along with certain additional restrictions. There are three types of character data that can occur in documents: normal character data replaceable character data non-replaceable character data Normal character data: Certain elements contain normal character data. Normal character data can contain the following: text character references Normal character data has the following restrictions: must not contain any "<" characters (Replaceable er title og textedit - taggene, mens non-replacable er style og script-taggene.) Såvidt jeg kan forstå betyr alt dette at attributter (alt, longdesc, title osv) kan inneholde >, men ikke <. Noe som er moderat grusomt. Endret 25. september 2012 av Djn Lenke til kommentar
Olavxxx Skrevet 14. oktober 2012 Del Skrevet 14. oktober 2012 Hei, har du vurdert å bruke strip_tags()? Som regel er det ytterst få tags du ønsker at man skal få lov å legge inn og parse ut. Dette bør også gjøres på "inn" siden. Du definerer med strip_tags() hvilke tag som er lov. $post = strip_tags($row['post'], '<p><a><b><strong><em><i><ul><br>'); Lenke til kommentar
adre Skrevet 18. oktober 2012 Forfatter Del Skrevet 18. oktober 2012 Nei. Jeg har ikke vurdert og bruke strip tags. Jeg har en del styling i denne så det er ikke noe vits. Og det er bare administratorer som får legge inn ting på siden så jeg går for at de ikke driver med for mye tull Hei, har du vurdert å bruke strip_tags()? Som regel er det ytterst få tags du ønsker at man skal få lov å legge inn og parse ut. Dette bør også gjøres på "inn" siden. Du definerer med strip_tags() hvilke tag som er lov. $post = strip_tags($row['post'], '<p><a><b><strong><em><i><ul><br>'); Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå