Str_replace vervangt tekens niet
qubus - 04/07/2005 21:19
Lid
Ik heb de volgende code om bepaalde tekens door een smilie te laten vervangen.
$zonder_slash = stripslashes($row[bericht]);
$codes = array(':-)',':-))',':?',':!',':(','%)',':-!',';)',':$');
$smilies = array('smile','biggrin','confused','cool','cry','eek','mad','wink','redface');
for($i=0;$i<9;$i++){
$form_reactie2 = str_replace($codes[$i],'<img src="../forum/images/smiles/icon_'.$smilies[$i].'.gif" border="0">',$zonder_slash);
}
$codes = array ( ':-)' , ':-))' , ':?' , ':!' , ':(' , '%)' , ':-!' , ';)' , ':$' ) ; $smilies = array ( 'smile' , 'biggrin' , 'confused' , 'cool' , 'cry' , 'eek' , 'mad' , 'wink' , 'redface' ) ; for ( $i = 0 ; $i < 9 ; $i ++ ) {
$form_reactie2 = str_replace ( $codes [ $i ] , '<img src="../forum/images/smiles/icon_' . $smilies [ $i ] . '.gif" border="0">' , $zonder_slash ) ; }
Maar om de een of andere reden vervangt hij de tekens niet door de smilie. Als ik in plaats van $codes[$i] bijvoorbeeld gewoon :-) intik in de code, werkt het wel.
Iemand een idee??
4 antwoorden
Gesponsorde links
MothZone - 04/07/2005 21:24 (laatste wijziging 04/07/2005 21:26)
PHP ver gevorderde
gebruik kleuren
<?php
$zonder_slash = stripslashes($row['bericht']);
$codes = array(':-)',':-))',':?',':!',':(','%)',':-!',';)',':$');
$smilies = array('smile','biggrin','confused','cool','cry','eek','mad','wink','redface');
for($i=0;$i<9;$i++){
$form_reactie2 = str_replace($codes[$i],'<img src="../forum/images/smiles/icon_'.$smilies[$i].'.gif" border="0">',$zonder_slash);
}
?>
<?php
$codes = array ( ':-)' , ':-))' , ':?' , ':!' , ':(' , '%)' , ':-!' , ';)' , ':$' ) ; $smilies = array ( 'smile' , 'biggrin' , 'confused' , 'cool' , 'cry' , 'eek' , 'mad' , 'wink' , 'redface' ) ; for ( $i = 0 ; $i < 9 ; $i ++ ) {
$form_reactie2 = str_replace ( $codes [ $i ] , '<img src="../forum/images/smiles/icon_' . $smilies [ $i ] . '.gif" border="0">' , $zonder_slash ) ; }
?>
zo is alles overzichtelijker, heb trouwens al iets aangepast, je had $row[bericht] maar het zal wel $row['bericht'] zijn he
smoos - 04/07/2005 21:34 (laatste wijziging 04/07/2005 21:34)
PHP gevorderde
door in het code blok <?php en ?> neer te zette kijk maar:
Fenrir - 04/07/2005 21:41 (laatste wijziging 04/07/2005 21:43)
PHP expert
<?php
$zonder_slash = stripslashes($row['bericht']);
$codes = array(':-)',':-))',':?',':!',':(','%)',':-!',';)',':$');
$smilies = array('smile','biggrin','confused','cool','cry','eek','mad','wink','redface');
$c = count($smilies);
for($i = 0; $i < $c; $i++)
{
$smilies[$i] = '<img src="../forum/images/smiles/icon_'.$smilies[$i].'.gif" border="0">';
}
$form_reactie2 = str_replace($codes, $smilies, $zonder_slash);
?>
<?php
$codes = array ( ':-)' , ':-))' , ':?' , ':!' , ':(' , '%)' , ':-!' , ';)' , ':$' ) ; $smilies = array ( 'smile' , 'biggrin' , 'confused' , 'cool' , 'cry' , 'eek' , 'mad' , 'wink' , 'redface' ) ; for ( $i = 0 ; $i < $c ; $i ++ )
{
$smilies [ $i ] = '<img src="../forum/images/smiles/icon_' . $smilies [ $i ] . '.gif" border="0">' ;
}
$form_reactie2 = str_replace ( $codes , $smilies , $zonder_slash ) ;
?>
Zo kan het ook. Maar je fout was dit:
$zonder_slash = str_replace($codes[$i],'<img src="../forum/images/smiles/icon_'.$smilies[$i].'.gif" border="0">',$zonder_slash);
$zonder_slash = str_replace ( $codes [ $i ] , '<img src="../forum/images/smiles/icon_' . $smilies [ $i ] . '.gif" border="0">' , $zonder_slash ) ;
Gesponsorde links
Dit onderwerp is gesloten .