Jump to content
php.lv forumi

datu apstraade


smarty

Recommended Posts

kaa tad vislabaak apstraadaat datus (piem., komentaaru pirms ievietoshanas datu baazee)? pie tam ir veelme, lai var ievietot savu kodu, taapat kaa shinii forumaa (ar

tagiem). visaadi izproveejos, bet kad es veicu shaadi
[CODE]
$txt = preg_replace('#\[php\](.+?)\[\/php\]#ies', "highlight_string('\\1', 1)", $txt);

 

un tekstu apstraadaaju ar htmlspecialchar, tad tiek izdots bezsakars (vienalga, pirms koda hailaitoshanas vai peec). ja es tekstu neapstraadaaju (ar htmlspecialchar vai manuaali stripojot simbolus) tad hailaito smuki, bet nu pashi zinat, html kods visui sabojaa, bet kad apstraadaaju, tad sabojaa code saduru. kaadi risinaajumi? (bez BB pear pakas izmantoshanas)

Link to comment
Share on other sites

Īsti nesaprotu problēmu. Nu tev tak vajag izvadīt tos simbolus kas nav tajā php bbkodā ar htmlspecialchars() fju apstrādātus, bet tie kas iekšā - tos ar highlight_string() fju. Nu ta kur problēmas?

Nu vēl otrs variants - to kas iekš tā php tega - apstrādāt ar html_entity_decode(highlight_string("\\1"), ENT_QUOTES), un pēc tam visu stringu vēlreiz ar htmlspecialchars() fju.

Link to comment
Share on other sites

Ilustrācija. Par testa tekstu tiek izmantots:

sdfsdf

sd

d

dfs

<?
echo 'aaa';  //fgdfg
echo 'bbb';  //fgdfg
</table></table></table></table></table></div></div></div></div></div></div></div></div>
?>
rsdfsdf

dfs

dsf

 

1. apstrādāju ar

 

$txt = preg_replace('#\[php\](.+?)\[\/php\]#ies', "highlight_string('\\1', 1)", $txt);
$txt = htmlspecialchars($txt, ENT_QUOTES);

iegūstu

sdfsdf sd d dfs<code><font color="#000000"> <br /><font color="#0000BB"><? <br />    </font>&l

t;font color="#007700">echo </font><font color="#DD0000">'aaa'</font><

;font color="#007700">;  </font&

gt;<font color="#FF8000">//fgdfg <br />    </font>&l

t;font color="#007700">echo </font><font color="#DD0000">'bbb'</font><

;font color="#007700">;  </font&

gt;<font color="#FF8000">//fgdfg <br /></font><font color="#007700"></</font><font color="#0000BB">table</font><font color="#007700">></</font>&

lt;font color="#0000BB">table</font><font color="#007700">></</font>&

visādi izprovējos, bet rezultāts apmēram tāds pats

Link to comment
Share on other sites

×
×
  • Create New...