Jump to content
php.lv forumi

Kā paštaisītai funkcijai iebarot neatļautos simbolus


apophis

Recommended Posts

Beidzot uzmocīju funkciju:

function rs($str){

$str=str_replace('\\','\\\\',$str);

$str=str_replace('"','"',$str);

$str=str_replace('\'','\\\'',$str);

return $str;

}

Varbūt funkciju ir iespējams uzrakstīt īsāk?

 

Tagad iegūto vērtību var iebarot js funkcijai:

<a href="java script:setfield('<?echo $obj;?>','<?echo rs($row['adrese']);?>');self.close();"><?echo $row["adrese"];?></a>

 

Vēl viena dīvaina lieta, js funkcijai var iebarot \ un ' ar backslash, bet " tikai kā ", un ' nevar aizstāt ar & # 0 3 9;

Edited by apophis
Link to comment
Share on other sites

Tu taču viņu uztaisi ar PHP. Un iekš PHP funkcija tā arī saucas - addslashes.

 

Iekš javaskripta varētu būt kaut kas šāds.. Pag, patestēšu un tad uzrakstīšu :)

 

Vēl viena dīvaina lieta, js funkcijai var iebarot \ un ' ar backslash, bet " tikai kā ", un ' nevar aizstāt ar & # 0 3 9;

Funkcija htmlspecialchars. Bet arī tā neaizstās ' ar to kodu. Bet tas neliedz aizstāt manuāli ar str_replace. Nezinu, kā ar web pārlūkiem, bet bija pieredze, ka telefoni to 039 kodu neattēloja kā '.

Edited by Stopp
Link to comment
Share on other sites

Laikam beidzot esmu sapratis backslash pielietojumus.

Mēģinot sačakarēt paša veikumu ar neatļautajiem simboliem uzdūros atkal vienai ķibelei.

 

php funkcija:

function as1($str){

$str=str_replace('"','"',$str);

return $str;

}

 

js funkcija:

function as2(str){

str=str.replace(/\\/g, '\\\\');

str=str.replace(/\'/g, '\\\'');

return str;

}

 

<input type="text" name="adrese" maxlength="50" id="adrese" value="<?echo as1($eadrese);?>" style="width: 300;height: 18">

<a href="java script:objekti('adreses','adrese',as2(izsaukums.objekts.value))">>>></a>

 

Pēc visa šī murga sanāk ka input textbox ņem pretī dažus speciālos simbolus, kurus nevar iebarot js funkcijai. Mēģināju textboxa datus konvertēt ar php funkciju htmlentities un līdzīgām, pazuda garumzīmes, cik saprotu problēma ar čarsetu atbalstu. Laikam pārak daudz jau murgoju :D

Link to comment
Share on other sites

×
×
  • Create New...