x-ƒ (x_f)

Fikss 

piektdien, 11.06.2004 @2:51 pm | x-ƒ

Liels bija mans pārsteigums, kad, mēģinot izmantot S2 iebūvēto funkciju striphtml(), lai atbrīvotos no HTML tagiem, apskatīju dīvainu kļūdas paziņojumu. Izrādās, ka, lai gan tāda funkcija S2 valodā ir, tā nemazam nestrādā. Kompilators gan laiž cauri bez problēmām, bet.. Nu, ja kāds grib redzēt to kļūdas paziņojumu, tad pamēģiniet šo funkciju. :)

Lai nu kā, par laimi atradu citu funkciju, kas dara tieši to pašu. Un patiešām dara. Rakstījis to ir SaiteMageBoltRat. Ja izmantosiet, pieminiet. :)
Mjā, tā kā striphtml() ir iebūvētā funkcija, tad to nevar aizvietot, un tāpēc jāizmanto cits nosaukums. Tāpēc striphtmlnew().

####################################################################
## divas funkcijas, lai no teksta izmestu HTML tagus.
## S2 jau ir funkcija "striphtml(string s) : string",
taču
## tā nestrādā (lai gan kompilators neiebilst).

## ņemtas no MageBoltRat (http://livejournal.com/users/mageboltrat/)


function
striphtmlnew(string in, int maxlen) : string {
  var string ans;
  
var int inside = 0;
  
var int len = 0;
  foreach var int pos (0 .. $in->length()) {
    
if ("<" == $in->substr($pos, 1)) {
      
$inside = $inside + 1;
    
}
    
if (0 == $inside) {
      
$ans = $ans + $in->substr($pos, 1);
      $len = $len + 1;
    }
    
if (">" == $in->substr($pos, 1) and $inside > 0) {
      
$inside = $inside - 1;
    
}
    
if ($maxlen == $len) {
      
return $ans + "...";
    
}
  
}
  
return $ans;
}

function striphtmlnew(string in) : string {
  
return striphtmlnew($in, $in->length());
}

Varbūt kādam noderēs.

(Ņem vērā, ka parasti neviens neizvēlas atbildēt uz pilnīgi anonīmiem komentāriem!)

No:
Lietotājvārds:
Parole:
Ievadi te 'qws' (liidzeklis pret spambotiem):
Temats:
Tematā HTML ir aizliegts
  
Ziņa:

Gandrīz jau aizmirsu pateikt – šis lietotājs ir ieslēdzis IP adrešu noglabāšanu. Operatore Nr. 65.