char2tag

raspi 10.09.02 09:13

Muuta joku merkki HTML-tagiksi

 Tekstiversio  Arvo: 0 (5 ääntä)  Äänestä: +  -
<?php
/*
  Tällä funktiolla saa esim. "%f%oo" -> "<b>f</b>oo".
  Kätevä jos haluaa muutella irkkilogeja HTML:ksi.
*/


function char2tag ($string, $erotin, $ot, $ct) {
  $on = FALSE;
  for($i = 0; $i < strlen($string); $i++) {
    if ($string[$i] == $erotin) {
      if ($on) {
        $dest[] = "</$ct>";
        $on = FALSE;
      } else {
        $dest[] = "<$ot>";
        $on = TRUE;
      }
    } else {
      $dest[] = $string[$i];
    }
  }
  if ($on) {
    $dest[] = "</$ct>";
  }
  return str_replace("<$ot></$ct>", "", join("", $dest));
}

$teksti = "#j#ippii!";

echo char2tag($teksti, '#', 'b', 'b') . "<br>\n";
// = <b>j</b>ippii!

echo char2tag($teksti, '#', 'font size="+10"', 'font') . "<br>\n";
// = <font size="+10">j</font>ippii!
?>

jope 14:42 31.1.03 
Tykkään tästä koodaus tyylistä, koska itsekkin koodaan samalla tyylillä :)
Tyyli++
hawku 02:26 1.6.03 
eikö function char2tag($a,$b,$c,$d){ return preg_replace("/$b(.*?)$b/","<$c>\\1</$d>",$a); }
tee saman asian?
editoitu: 16:05 22.2.06
T.M. 16:04 22.2.06 
Joo, mutta kaikkihan ei regexpejä osaa :)