webForumDet fria alternativet

Konverteringsfråga/Stränghantering

PHP

6 svar · 222 visningar · startad av Blårand

Medlem sedan jan. 20032 356 inlägg
Frågan#1

Validerar ett meddelandefält enligt nedan metod, där jag även byter ut "\n" mot <br>.

$Meddelande = htmlentities ($Meddelande, ENT_QUOTES);
$Meddelande = stripslashes($Meddelande);
$Meddelande = trim($Meddelande);
$Meddelande = str_replace("|", "&#124;", $Meddelande);
$Meddelande = preg_replace("/(\r\n|\r|\n)/", "<br />", $Meddelande);

Ändå blir resultatet ungefär detta, när texten ska skrivas ut på hemsidan:

ett
&lt;b&gt;två&lt;/br&gt;
tre
&lt;i&gt;fyr&lt;/i&gt;

Har provat lite olika varianter och använd exempel från andra script, men resultatet blir ändå detsamma. Vad har jag missat?

Medlem sedan okt. 20023 030 inlägg
#2

Det du har skrivit är alltså

ett
<b>två</br>
tre
<i>fyr</i>

och det du vill ha är alltså att alla nya rader ska bytas ut mot en br? Kör bara nedanstående istället för preg_replace.

$Meddelande = nl2br($Meddelande);

  :)

R// Känns inte detta lite onödigt? ;)

$Meddelande = str_replace("|", "|", $Meddelande);
Medlem sedan jan. 20032 356 inlägg
#3

Känns inte detta lite onödigt?

Det verkar som om wF-koden själv konverterar "&_#_124_;" som finns inom andra parametern, så att det visas som ett "|". Av den anledningen ser det ur som två "|". :)

Fick inte dit tips att fungera, men jag försöker i morgon och ser om jag kan trixa ihop det.

Medlem sedan okt. 20023 030 inlägg
#4

Av vad? :q

Medlem sedan jan. 20032 356 inlägg
#5

&_#_124;

Ta bort de båda "_" så blir det '|' med automatik.

Medlem sedan aug. 20002 975 inlägg
#6

Det som gör att all HTML-kod som skrivs in i meddelandet "förstörs" är den här raden:

$Meddelande = htmlentities ($Meddelande, ENT_QUOTES);

Det är den som gör < till < och så vidare.

Dock tycker jag du bör köra stripslashes före htmlentities.

Det hela ser ut som en gästbokskod, där man ska spara inläggen på en rad i en textfil, där namn, meddelande mm är skilda åt med |.
Då blir de två sista raderna meningsfulla.
htmlentities verkar vara för att man inte ska kunna skriva HTML-kod i inläggen.

Är jag helt ute och seglar? :)

Medlem sedan jan. 20032 356 inlägg
#7

Matte skrev:

Är jag helt ute och seglar? :)

Nää, du träffade rätt nära. Har tagit delar av koden från ett gästbokscript, och sedan mekade jag om koden lite för att det skulle passa mitt script. Tyvärr uteblev dock framgången :)

Är som sagt inge hejare på PHP, men det beror nog på att man tyvärr inte har den tid som krävs för att sätta sig in i språket ordentligt. Ska meka lite med era tips i morgon och se om jag får ordning på detta. :)

318 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
179 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)