Ova funkcija obeležava deo teksta, ali ja nikako da je nateram da mi to i uradi. Može li neko da mi pomogne da upotrebim ovu funkciju?
Hvala vam unapred.
Code:
<?php
//highlight a string part
function phpdigHighlight($value='',$string='') {
if ($value) {
// start extra multi-byte regex processing due to http://bugs.php.net/bug.php?id=25953
// this extra regex processing tries to highlight word, WORD, and Word spelling variants
$front = mb_eregi_replace("[(](.*)[)][(](.*)[)][(](.*)[)]","\\1",$value);
$back = mb_eregi_replace("[(](.*)[)][(](.*)[)][(](.*)[)]","\\3",$value);
$mid_value1 = mb_eregi_replace("[(](.*)[)][(](.*)[)][(](.*)[)]","\\2",$value);
$mid_value2 = mb_strtoupper($mid_value1);
$mid_words1 = explode("|",$mid_value1);
$mid_words2 = explode("|",$mid_value2);
$mid_words3 = $mid_words1;
foreach ($mid_words2 as $val_words2) {
if (!in_array($val_words2,$mid_words1)) {
$mid_words1[] = $val_words2;
}
}
foreach ($mid_words3 as $val_words3) {
$val_words3 = mb_strtoupper(mb_substr($val_words3,0,1)).mb_substr($val_words3,1);
while (mb_eregi("([ ]([^ ]+))",$val_words3,$regs3)) {
$val_words3 = mb_ereg_replace($regs3[1],"?_?".mb_strtoupper(mb_substr($regs3[2],0,1)).mb_substr($regs3[2],1),$val_words3);
}
$val_words3 = mb_ereg_replace("[?][_][?]"," ",$val_words3);
if (!in_array($val_words3,$mid_words1)) {
$mid_words1[] = $val_words3;
}
}
$middle = implode("|",$mid_words1);
$value = "(".$front.")(".$middle.")(".$back.")";
// end extra multi-byte regex processing due to http://bugs.php.net/bug.php?id=25953
//$string = @mb_eregi_replace($value,"\\1<^#_>\\2</_#^>\\3",@mb_eregi_replace($value,"\\1<^#_>\\2</_#^>\\3",$string));
$string = @mb_eregi_replace($value,"\\1<^#_>\\2</_#^>\\3",$string);
$string = str_replace("^#_","span class=\"phpdigHighlight\"",str_replace("_#^","span",$string));
return $string;
}
else {
return $string;
}
}
?>
<?php
//highlight a string part
function phpdigHighlight($value='',$string='') {
if ($value) {
// start extra multi-byte regex processing due to http://bugs.php.net/bug.php?id=25953
// this extra regex processing tries to highlight word, WORD, and Word spelling variants
$front = mb_eregi_replace("[(](.*)[)][(](.*)[)][(](.*)[)]","\\1",$value);
$back = mb_eregi_replace("[(](.*)[)][(](.*)[)][(](.*)[)]","\\3",$value);
$mid_value1 = mb_eregi_replace("[(](.*)[)][(](.*)[)][(](.*)[)]","\\2",$value);
$mid_value2 = mb_strtoupper($mid_value1);
$mid_words1 = explode("|",$mid_value1);
$mid_words2 = explode("|",$mid_value2);
$mid_words3 = $mid_words1;
foreach ($mid_words2 as $val_words2) {
if (!in_array($val_words2,$mid_words1)) {
$mid_words1[] = $val_words2;
}
}
foreach ($mid_words3 as $val_words3) {
$val_words3 = mb_strtoupper(mb_substr($val_words3,0,1)).mb_substr($val_words3,1);
while (mb_eregi("([ ]([^ ]+))",$val_words3,$regs3)) {
$val_words3 = mb_ereg_replace($regs3[1],"?_?".mb_strtoupper(mb_substr($regs3[2],0,1)).mb_substr($regs3[2],1),$val_words3);
}
$val_words3 = mb_ereg_replace("[?][_][?]"," ",$val_words3);
if (!in_array($val_words3,$mid_words1)) {
$mid_words1[] = $val_words3;
}
}
$middle = implode("|",$mid_words1);
$value = "(".$front.")(".$middle.")(".$back.")";
// end extra multi-byte regex processing due to http://bugs.php.net/bug.php?id=25953
//$string = @mb_eregi_replace($value,"\\1<^#_>\\2</_#^>\\3",@mb_eregi_replace($value,"\\1<^#_>\\2</_#^>\\3",$string));
$string = @mb_eregi_replace($value,"\\1<^#_>\\2</_#^>\\3",$string);
$string = str_replace("^#_","span class=\"phpdigHighlight\"",str_replace("_#^","span",$string));
return $string;
}
else {
return $string;
}
}
?>
Stil koji je upotrebljen u funkciji
Code:
<style type="text/css">
<!--
.phpdigHighlight { font-weight: bold; }
-->
</style>
<style type="text/css">
<!--
.phpdigHighlight { font-weight: bold; }
-->
</style>
Kusur