: : g_TEXTFUNCTIONS

Různé užitečné funkce pro práci s textem:
IsTextInText($textzdroj,$searchtext) Funkce vrací true, pokud je nalezen $searchtext v $textzdroji, jinak vrací false. (zjednodušení strpos() funkce)
trim_nl($str,$nahrada='\\n') Funkce ve stringu $str nahradí nové řádky za $nahrada.
ChangeOdkaz($text) Funkce ve stringu $text předělá všechny odkazy na skutečné linky.
ahrefret($href,$log = 0) Funkce vrátí odkaz $href obohacený o proměnou $log s přidáním znaku ? nebo & s názvem log. Je-li poslána 0, sama si z $GLOBALS $log vybere.
ahref($href,$log=0,$text=0,$target=0) Funkce vypíše tag <a.. s upravených $href dle funkce ahrefret, případně ještě dodá $target.
Pokud je zadán i $text, doplní text a tag uzavře. Jinak nechá otevřený.
CzToEng($vyraz) Funkce vypíše vrátí upravený $vyraz, ve kterém odstraní všechnu diakritiku.
GetCislo($string) Funkce vratí celočíselnou hodnotu kterou získá výběrem čísel ze stringu $string. (GetCislo('petr21') = 21)

Kód:
g_textfunctions.php
<? /* Textove funkce */
$g_textfunctions_true = true;

function IsTextInText($textzdroj,$searchtext) {
  $pos = strpos($textzdroj, $searchtext);
  if ($pos === false) return false;
  else return true;
}

function trim_nl($str,$nahrada='\\n') {
  $ret_str = $str;
  $ret_str = str_replace("\n",$nahrada,$ret_str);
  $ret_str = str_replace("
",$nahrada,$ret_str);
  return $ret_str;
}

function ChangeOdkaz($text) {
  $changetext = $text;
  // HTML

  $changetext = preg_replace("/((http(s?):\/\/)|(www\.))([\w\.]+)(((\/?)[\w]*[^<^ ^)]?\/?)*)/i", "<a href=\"http$3://$4$5$6\" target=\"_blank\">$2$4$5$6</a>", $changetext);
  // EMAILs

  $changetext = preg_replace("/([\w\.]+)(@)([\w\.]+)/i", "<a href=\"mailto:$0\">$0</a>", $changetext);  

  return $changetext;
}

function ahref($href,$log = 0,$text=0,$target=0) {
  $nhref=ahrefret($href,$log);   
  echo '<a href="'.$nhref.'"';
  if (!GEmpty($target)) echo ' target="'.$target.'"';
  echo '>';
  if (!empty($text)) echo $text.'</a>';
}

function ahrefret($href,$log = 0) {
  if (empty($log) && !empty($GLOBALS['log'])) $log=$GLOBALS['log'];
  $txt = $href;
  if (!empty($log) && ($log!='LogOut')) 
    if (!is_integer(strpos($href,'?'))) {
      $txt .= '?log='.$log;
    } else {
      $txt .= '&log='.$log;
    }
  return $txt;
}

function CzToEng($vyraz) {
  $opraveno = strtr($vyraz,"áÁčČďĎéÉěĚíÍňŇóÓřŘšŠťŤúÚůŮýÝžŽ","aAcCdDeEeEiInNoOrRsStTuUuUyYzZ"); 	// čeština

  $opraveno = strtr($opraveno,"ľĽäÄëËöÖüÜ","lLaAeEoOuU");                                         // zbytek

  return $opraveno;
}

function GetCislo($string) {
  $retstr = '';
  for ($i=0;$i<strlen($string);$i++)
    if (is_numeric($string{$i}))
      $retstr .= $string{$i};
  return ($retstr*1);
}

?>