raar probleem met " en \

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Paul K

Paul K

13/11/2006 16:52:00
Quote Anchor link
Ik gebruik zo'n parser en dan staat er bijv dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
// Love
$bericht = str_replace ("(L)","<img src=\"img/ubbc/love.gif\" width=\"15\" height=\"15\" border=\"0\">",$bericht);
$bericht = str_replace ("[love]","<img src=\"img/ubbc/love.gif\" width=\"15\" height=\"15\" border=\"0\">",$bericht);
?>

Dan doet hij het als je direct echoot zechmaar
dus na al dat gepars zegt echo $bericht;
In de sql database staat het volgende zo:

<img src=\"img/ubbc/love.gif\" width=\"15\" height=\"15\" border=\"0\">

dus nog steeds hetzelfde

Maarr dan
ga ik in m'n nieuwspagina alles echoen en maakt hij er dit van :S:

%5C%22img/ubbc/love.gif%5C%22

en dan zegt hij dit:

The requested URL /news/\"img/ubbc/love.gif\" was not found on this server.



het rare is dat als je het verwerkt heb en je echoot het dat hij het wel doet en bij de nieuwspag het niet :S
Gewijzigd op 01/01/1970 01:00:00 door Paul K
 
PHP hulp

PHP hulp

18/11/2024 22:45:09
 
- SanThe -

- SanThe -

13/11/2006 16:57:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
// Love
$bericht = str_replace ('(L)','<img src="img/ubbc/love.gif" width="15" height="15" border="0">',$bericht);
?>

En zo?
 
Harmen

Harmen

13/11/2006 16:58:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
// Love
$bericht = preg_replace ('#(L)#is','<img src="img\/ubbc\/love.gif" width="15" height="15" border="0">',$bericht);
?>


ga het eens preg_replacen.. dat werkt altijd goed bij mij
Gewijzigd op 01/01/1970 01:00:00 door Harmen
 
Joren de Wit

Joren de Wit

13/11/2006 16:58:00
Quote Anchor link
Zodra je de gegevens uit de database haalt moet je nog even stripslashes() erover heen halen. Dat verwijdert die extra slashes.

ps. Waar waarom pas je die regels niet toe nadat je de gegevens uit de database hebt gehaald. Dus dat in de database gewoon de berichten met (L) en [love] staan...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Harmen

Harmen

13/11/2006 17:00:00
Quote Anchor link
blanche.. niet nodig als je enkele quotes gebruikt
 
Paul K

Paul K

13/11/2006 17:01:00
Quote Anchor link
een deel is al opgelost
alleen nog dit probleem

die '\' moet vervangen worden door ' '
maar zodra ik dit doe:

$row['bericht'] = str_replace('\','',$row['bericht']);
gebeurt er dus dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$row
['bericht'] = str_replace('\','',$row['bericht']);
?>
 
Joren de Wit

Joren de Wit

13/11/2006 17:01:00
Quote Anchor link
Harmen schreef op 13.11.2006 17:00:
blanche.. niet nodig als je enkele quotes gebruikt


Klopt, maar zoals ik hierboven ook al zeg, zou ik de html sowieso niet in de database zetten. Want wat nu als je bijvoorbeeld de berichten wilt wijzigen, moet je de html om gaan zetten naar ubb code en later weer terug.

@Paul: om 1 backslash te vervangen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$row
['bericht'] = str_replace('\\','',$row['bericht']);
?>
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Harmen

Harmen

13/11/2006 17:03:00
Quote Anchor link
$row['bericht'] = str_replace('\','',$row['bericht']);

kan dat wel? dan denkt php toch dat je een enkele quote escaped? kijk maar naar het kleurtje
 
Han eev

Han eev

13/11/2006 17:04:00
Quote Anchor link
doe eens onderaan
$bericht = stripslashes($bericht);

Misschien is het dan opgelost
 
Paul K

Paul K

13/11/2006 17:05:00
Quote Anchor link
Het probleem is dat ik zo'n systeem gebruik dat kant en klaar is,,,

ik heb geen zin om alles te veranderen en zoiezo als ik dit heb:

<img src="img/ubbc/wink.gif" width="15" height="15" border="0">
dan als ik hem in de db doe doet ie dit:
<img src=\"img/ubbc/wink.gif\" width=\"15\" height=\"15\" border=\"0\">

maar goed ik heb nu het volgende:

$row['bericht'] = stripslashes($row['bericht']);

en nu werkt het :D
 
Paul K

Paul K

13/11/2006 17:06:00
Quote Anchor link
@Paul: om 1 backslash te vervangen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$row
['bericht'] = str_replace('\\','',$row['bericht']);
?>
[/quote]

Dankje dan weet ik dat ook weer


Wat is trouwens het verschil tussen str_replace & preg_replace????
Gewijzigd op 01/01/1970 01:00:00 door Paul K
 
Joren de Wit

Joren de Wit

13/11/2006 17:11:00
Quote Anchor link
Met str_replace kun je een bepaalde substring vervangen met een andere. Bij preg_replace maak je gebruik van reguliere expressies om bepaalde delen van een string te matchen en te vervangen.

Het gebruik van de laatste is ingewikkelder vanwege de regex die je gebruikt, maar het biedt je wel veel meer mogelijkheden.
 
PHP Newbie

PHP Newbie

13/11/2006 17:40:00
Quote Anchor link
en zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    $bericht
= str_replace ("(L)",'<img src="img/ubbc/love.gif" width="15" height="15" border="0">',stripslashes($bericht));
?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.