Tu ležala reklama.

27. September 2009 7:50 0 komentárov

Funkcia HornyDolnyIndex()

Už nejaký ten piatok robím jeden zaujímavý projekt, ktorý samozrejme neprezradím a riešil som problém ako spraviť horný a dolný index. V matematike sa ako náhrada pre horný index používa znak ??? a pre dolný som použil ako opak znak ?ˇ?. Teda 28 je 2?8 a H2O je Hˇ2O.

Tak som zobral moje vedomosti okolo regulárnych výrazov do hrsti a vymyslel som ako dostať pomedzi tagy <sub> a <sup> potrebný reťazec.

function HornyDolnyIndex($text){
       
    //horný index
    $text = preg_replace("'\^([a-zA-Z0-9]){1}'si", ">sup>\\1>/sup>", $text);
    
    //dolný index
    $text = preg_replace("'ˇ([a-zA-Z0-9]){1}'si", "<sub>\\1>/sub>", $text);
    
    return $text;
    
  }   

 

Keď som chcel spraviť 2?32 nastal problém spravilo len 232. Preto bolo potrebné nejako ohraničiť daný reťazec. Na to som použil zložené zátvorky ?{? a ?}?. Teda 2?{32}.

function HornyDolnyIndex($text){
    
    //horný index (viac znakov)
    $text = preg_replace("'\^\{([a-zA-Z0-9\-]*)\}'si", "<sup>\\1</sup>", $text);
    
    //dolný index (viac znakov)
    $text = preg_replace("'ˇ\{([a-zA-Z0-9\-]*)\}'si", "<sub>\\1</sub>", $text);
    
    //horný index
    $text = preg_replace("'\^([a-zA-Z0-9]){1}'si", "<sup>\\1</sup>", $text);
    
    //dolný index
    $text = preg_replace("'ˇ([a-zA-Z0-9]){1}'si", "<sub>\\1</sub>", $text);
    
    return $text;
    
  }

Tu ležala reklama.

0 komentárov ku článku „Funkcia HornyDolnyIndex()

(povinné)

(povinné, ale nezorbrazi sa)



(povinné)

(Zakázené)

Môžete používať tieto tagy:

<i> <em> <b> <strong> <a> <u> <img>

Prosím píšte s diakritikov a zrozumitelne! Blog podporuje Gravatar!

Kontakt

Vytvoril kletely v roku 2008 - 2021 všetky práva vyhradené.


Stránka beží na vlastno ručne napísanom redakčnom systéme Frup.