Avaleht
uus teema   vasta Tarkvara »  WWW »  [php]Probleem on special charidega märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
lehm2
Kreisi kasutaja


liitunud: 19.09.2004




sõnum 29.12.2008 15:13:55 [php]Probleem on special charidega vasta tsitaadiga

Lihtne probleem muutus äkitselt keeruliseks. On vaja eemaldada \n, \r, \t charid stringist, kuid lihtsa replacega ei taha see töötada.


$remove = array("\n", "\r", "\t", "\5c6e");
$array[$i] = htmlspecialchars(str_replace($remove, "", $array[$i]));



_________________
Piilu siia, progreja!
Vajad abi Node.JS-ga ?
Võta ühendust !
Kommentaarid: 15 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
oicu
HV kasutaja

liitunud: 23.11.2006




sõnum 29.12.2008 15:27:44 vasta tsitaadiga

mis sul see $array[$i] on?
teoreetiliselt peaks selline asi töötama.
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
lehm2
Kreisi kasutaja


liitunud: 19.09.2004




sõnum 29.12.2008 16:23:25 vasta tsitaadiga

seal on $_GET pealt tulevad muutujad mis oleks vaja ära escapeda enne teksti faili kirjutamist.

Get aadress on ise selline näiteks
Array
(
    [0] => Garry
    [1] => 32323\n23
    [2] => math\r\rn<br/>\r\rn<br/
)


<?php
    if (isset($_GET['name']) && isset($_GET['result'])
          && isset($_GET['field'])) {

        $array = array($_GET['name'], $_GET['result'], $_GET['field']);
        $fieldSizes = array(60, 60, 30);

        print_r($array);

        for ($i = 0 ; $i < count($array) ; $i++) {
            if (strlen($array[$i]) < $fieldSizes[$i]) {
                $remove = array("\n", "\r", "\t", "\5c6e");
                $return = htmlspecialchars(str_replace($remove, "", $array[$i]));
                echo $return;
                $array[$i] = $return;
//                echo($array[$i] ."<br />");


//                $remove = array("\n", "\r", "\t", "\5c6e");
//                echo htmlspecialchars(str_replace($remove, "", "Teston\n\r\t"));


            } else {
                exit();
            }
        }

        require_once('TextFunctions.php');
        $t = new TextFunctions();

    }


?>





selline täitsa töötab icon_sad.gif

                $remove = array("\n", "\r", "\t", "\5c6e");
                echo htmlspecialchars(str_replace($remove, "", "Teston\n\r\t"));

_________________
Piilu siia, progreja!
Vajad abi Node.JS-ga ?
Võta ühendust !
Kommentaarid: 15 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
kapa24
HV vaatleja

liitunud: 23.01.2003




sõnum 29.12.2008 18:56:27 vasta tsitaadiga

lehm2 kirjutas:
seal on $_GET pealt tulevad muutujad mis oleks vaja ära escapeda enne teksti faili kirjutamist.

Get aadress on ise selline näiteks
Array
(
    [0] => Garry
    [1] => 32323\n23
    [2] => math\r\rn<br/>\r\rn<br/
)


" asemele '


$remove = array('\n', '\r', '\t', '\5c6e');


Praeguse näite puhul ei ole getist tulevad väärtused \r\n specialcharid vaid tavalised stringid.
tagasi üles
vaata kasutaja infot saada privaatsõnum
lehm2
Kreisi kasutaja


liitunud: 19.09.2004




sõnum 29.12.2008 22:28:40 vasta tsitaadiga

Tänud, töötab super thumbs_up.gif
_________________
Piilu siia, progreja!
Vajad abi Node.JS-ga ?
Võta ühendust !
Kommentaarid: 15 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  [php]Probleem on special charidega
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.