[php] Karakters uit variabele verwijderen

Ik heb een form en als IE-gebruikers die invullen worden er op een of andere manier paragrafen van gemaakt. Safari heeft hier geen last van. Als ik de inhoud van dat form weergeef d.m.v. de variabele te echoën, dan zijn er i.p.v. enters witregels. Hoe haal ik de de waarde '<p>' en '</p>' uit de variabele van het form?

edit
HTML uitgeschakeld.

Dit kan vast met een "regular expression". Ben daar zelf niet zo'n held in. Google er maar eens naar. En anders is er misschien een wel een andere forumgebruiker die je daar meer over kan vertellen.

http://nl.php.net/manual/en/function.str-replace.php

Van de handleiding van php.net word ik nooit wijzer. Ik heb nu dit:

[code:1:7f654a270f]$content = str_ireplace(’<p>’, ‘’, ‘$content’);[/code:1:7f654a270f]

Maar dan krijg ik i.p.v. het bericht letterlijk “$content” te zien.

[quote:4c02ffa4a1="The JM"]Van de handleiding van php.net word ik nooit wijzer. Ik heb nu dit:

[code:1:4c02ffa4a1]$content = str_ireplace(’<p>’, ‘’, ‘$content’);[/code:1:4c02ffa4a1]

Maar dan krijg ik i.p.v. het bericht letterlijk “$content” te zien.[/quote:4c02ffa4a1]

waarom zet je dan een variabelen ook tussen quotes ? is nooit nodig namelijk he … Haal dat er dus eens uit ?

Ja daar kwam ik net ook achter, en dan werkt het :)

Ik controleer nu op ‘<p>’ en ‘</p>’ (hoofdletterongevoelig) d.m.v.:

[code:1:2d058c0c10]$content = str_ireplace(’<p>’, ‘’, $content);
$content = str_ireplace(’</p>’, ‘’, $content);[/code:1:2d058c0c10]

Kan dit nog efficiënter?

Ja, met [b:bf7b3579d7]array('<p>', '</p>')[/b:bf7b3579d7] als eerste argument :)

Ah kijk, bedankt :)

[code:1:e0c52bf019]preg_replace ( '/</?p>/', '', $content );[/code:1:e0c52bf019]

En wat doen al die slashes en backslashes daar?

Hoe kan ik eigenlijk de tekst [b:4d96c4d60f]:'([/b:4d96c4d60f] laten vervangen door een plaatje? Want bij mij gaat het met die apostrof mis. En en backslash ervoor werkt niet.

[code:1:7eb558287d] voordat je 't in de DB propt natuurlijk....

str_replace(":’(","<img src=‘hier het plaatje’ />", $content);
[/code:1:7eb558287d]

gr Sjoerd

Dat werkt niet...

krijg je een foutmelding of iets dergelijks?

Wel de dubbele quotes gekopieerd en niet enkele gebruikt?

Ik krijg geen foutmelding, het werkt gewoon niet. En ja, ik heb het gedaan zoals in je quote staat :)

Hoe zet ie het het script het in je DB?

gr Sjoerd

Gewoon als:

[code:1:75363b1676]:’([/code:1:75363b1676]

En bij het weergeven moet dat dan een plaatje worden. En dat werkt niet. Hij vervangt de :’( niet door <img src…

ik heb het net getest met

[code:1:f8f0a801ed]
<?php
$content = “:’(”;
$content = str_replace(":’(","<img src=‘logo.jpg’ />",$content);
echo $content;
?>
[/code:1:f8f0a801ed]

en dat werkt prima…

Geen idee wat er mis gaat dus…

Als ik alleen die code in een apart script zet dan werkt het inderdaad, maar in het script van het gastenboek (waar die tekst door een emoticon vervangen moet worden) werkt het niet.

vervang je het voordat je het in de database stopt.... of als je het er weer uithaalt en bij de weergave?