Gå til innhold

Fjerne HTML fra string


Anbefalte innlegg

Videoannonse
Annonse

Den har jeg prøvd, men den koverterer bare taggene til sånt som dette her: <p>

<strong>

 

Jeg trenger å ha et sluttresultat som er rent fra all rest av HTML-tagger...

 

Takk for svar forresten :)

Lenke til kommentar

Om du bruker funksjonen han gir deg er det jo det du får. Bare ikke legg ved noen tags som andre paramter så blir alle fjernet.

 

code:

<?php
   $text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
   echo strip_tags($text);
?>

 

Output:

Test paragraph. Other text

Endret av etse
Lenke til kommentar

Hmm, slik virker det ikke hos meg. Alle taggene blir bare konvertert slik som jeg viste i forrige post. Hva kan det bero på da?

sikker på at du ikke gjør det før du kaller den funksjonen? Bruker du "htmlentities" eller noe slikt en plass i koden?
Lenke til kommentar

Eureka! Jeg fant ut problemet, selv om det er kodet inn med html i CMS'et sitt WYSIWYG, og vises som ren html i den genererte siden, så ligger det i databasen som htmlenteties ... doh. Kan jeg kovertere dem til html kode da?

 

EDIT: Jepp, med denne: html_entity_decode()

Lenke til kommentar

OK, nytt problem nå: alle æ,ø og å blir sånn: �

 

Skulle du mot formodning ikke se tegnet, så er det et hvitt spørsmålstegn med svart rundt...

Ser ut som et tegnsett problem for meg. Sjekk hvilket tegnsett det er lagret i og om du ber nettleseren bruke et annet.

Lenke til kommentar

Det må vel være Apache som bestemmer det. Jeg kjører WAMP server på lokal maskin. Hvor kan jeg finne ut det. Problemet blir jo når jeg går live hos en leid server om det er slik det har seg...? Jeg ser at når jeg skriver stringen til fil og åpner i notepad så vises æ,ø og å riktig...

 

Tja, det gjør kansje ikke noe. Når jeg åpner txt fila i Firefox så kommer det ut riktig

Lenke til kommentar

Men, jeg har faktisk to problemer til

  1. Jeg trenger hele stringen på en linje, hvilket innebærer at jeg må få bort alle linjeskift (er det \r\n?)
  2. Denne har klart å bli værende igjen:   , kan det være fordi den blir etterfulgt av: °?C slik at det ser sånn ut: 99 °?C - ja, har du sett - det spørsmålstegnet som ligger mellom grade tegnet og C skal jo heller ikke være der....

Lenke til kommentar

Fant ut at ? tegnene kommer som et resultat av at CMS'et har putta inn denne koden < rundt omkring. Skjønner ikke PHP denne entitien?

 

Fikk forresten ordnet problem nr 1 ovenfor ved hjel av str_replace.

 

Samme gjordet jeg for  

Lenke til kommentar

Hei Jormo.

 

Ser du har fått til nr1. Blanding av scriptet til Notteliten og str_replace er en grei måte å gjøre det på. Når det gjelder nye feilen du har så er dette grunnet charset.

 

Du kan jo prøve å sette ISO-8859-1 i header

header('Content-Type: text/html; charset=ISO-8859-1');

 

Men så er jo spørsmålet om du benytter deg av sql også?

 

 

 

Oi, ser ut til at jeg har scrollet litt fort ned her. Jormo, kan ikke du sende meg scriptet du benytter i en private msg så skal jeg se på det?

Endret av TobiasG
Lenke til kommentar

Sjekk hvordan informasjonen er lagret i databasen. Dersom det er latin bruker du fremgangsmåten beskrevet over.

 

Hvis det er utf8 gjør du tilsvarende med utf8. I tillegg burde du åpne fila i f.eks notepad++ og endre encoding til utf8 uten bom.

Lenke til kommentar

Hei, beklager sen tilbakemelding fikk så utrolig travle dager... Takker for all hjelp dere har gitt så langt. Ja, jeg bruker database, CMS'et jeg bruker er OpenCart - og den bruker UTF-8 i databasen. Fra før av har jeg brukt denne koden i scriptet:

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>KELKO CSV-FILE GENERATOR</title>
</head>

 

Jeg ser at i .txt-fila som dataene blir skrevet til så er æ,ø og å riktig, men det er når jeg echo'er det ut rett før skriving til fil at nettleseren ikke viser det korrekt... laster jeg inn txt-fila i nettleseren etterpå, da vises æ,ø og å riktig....

Lenke til kommentar
  • 3 uker senere...

Ser at denne tråden er litt gammel, men slenger inn litt info alikavel...

 

html: <meta charset="UTF-8">

php: header('Content-type: text/html; charset=utf-8');

database tilkobling:

PDO: $dbh->exec('SET CHARACTER SET utf8');

eller hvis du bruker:

MySQL: mysql_query('set names utf8');

 

Alternativ for .htaccess:

AddDefaultCharset utf-8

# du kan også tvinge tegnset på spesifikke filtyper

AddCharset utf-8 .css .js .json .xml .rss .atom

 

Det er også viktig at tegnsettet på dokumentene dine er like.

Sjekk også databasen at både den samt tabeller og felter benytter samme tegnsett.

 

Jeg har personlig valgt utf8, og det har ikke bydd på problemer med tanke på nordiske tegn...

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...