diff --git a/string.php b/string.php index 06fd819..b96111c 100644 --- a/string.php +++ b/string.php @@ -1,129 +1,260 @@ -' - ), array ( - '<', - '>' - ), $str ); -} -function random($name_laenge) { - $zeichen = "abcedfghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRTSUVWXYZ0123456789"; - $name_neu = ""; - - @mt_srand ( ( double ) microtime () * 1000000 ); - for($i = 0; $i < $name_laenge; $i ++) { - $r = mt_rand ( 0, strlen ( $zeichen ) - 1 ); - $name_neu .= $zeichen {$r}; - } - return $name_neu; -} -function startsWith($haystack, $needle) { - $length = strlen ( $needle ); - return (substr ( $haystack, 0, $length ) === $needle); -} -function endsWith($haystack, $needle) { - $length = strlen ( $needle ); - - return $length === 0 || (substr ( $haystack, - $length ) === $needle); -} -function onlyAlpha($str, $zus = '') { - return preg_replace ( "/[^a-zA-Z0-9 \-\{$zus}_]+/", "", $str ); -} -function shortener($str, $len = 50, $fill = '...') { - if (strlen ( $str ) > $len) { - $str = substr ( $str, 0, $len - strlen ( $fill ) ) . $fill; - } - return $str; -} -function isEmail($str) { - $match = preg_match ( "/[a-zA-Z0-9\-\_\.]*\@[a-zA-Z0-9\-\_\.]*.[a-z]{2,10}/", $str ); - if ($match) { - return $str; - } - return false; -} -function markUp($text) { - $r = ''; - $lv = 0; - foreach ( explode ( "\n", $text ) as $t ) { - $nlv = 0; - if (startsWith ( '**** ', $t )) { - $t = substr ( $t, 5 ); - $nlv = 4; - } - if (startsWith ( '*** ', $t )) { - $t = substr ( $t, 4 ); - $nlv = 3; - } - if (startsWith ( '** ', $t )) { - $t = substr ( $t, 3 ); - $nlv = 2; - } - if (startsWith ( '* ', $t )) { - $t = substr ( $t, 2 ); - $nlv = 1; - } - if ($lv != $nlv) { - while ( $lv < $nlv ) { - $text .= ''; - $lv --; - } - } - if (startsWith ( $t, '!!!!! ' )) { - $t = '
' . substr ( $t, 6 ) . '
'; - } - if (startsWith ( $t, '!!!! ' )) { - $t = '

' . substr ( $t, 5 ) . '

'; - } - if (startsWith ( $t, '!!! ' )) { - $t = '

' . substr ( $t, 4 ) . '

'; - } - if (startsWith ( $t, '!! ' )) { - $t = '

' . substr ( $t, 3 ) . '

'; - } - if (startsWith ( $t, '! ' )) { - $t = '

' . substr ( $t, 2 ) . '

'; - } - if ($lv == 0) { - $r .= $t; - } else { - $r .= '
  • ' . $t . '
  • '; - } - // var_dump ( $t ); - } - while ( $lv > 0 ) { - $r .= ''; - $lv --; - } - return $r; -} - +' + ), array ( + '<', + '>' + ), $str ); +} +function random($name_laenge) { + $zeichen = "abcedfghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRTSUVWXYZ0123456789"; + $name_neu = ""; + + @mt_srand ( ( double ) microtime () * 1000000 ); + for($i = 0; $i < $name_laenge; $i ++) { + $r = mt_rand ( 0, strlen ( $zeichen ) - 1 ); + $name_neu .= $zeichen {$r}; + } + return $name_neu; +} +function startsWith($haystack, $needle) { + $length = strlen ( $needle ); + return (substr ( $haystack, 0, $length ) === $needle); +} +function endsWith($haystack, $needle) { + $length = strlen ( $needle ); + + return $length === 0 || (substr ( $haystack, - $length ) === $needle); +} +function onlyAlpha($str, $zus = '') { + return preg_replace ( "/[^a-zA-Z0-9 \-\{$zus}_]+/", "", $str ); +} +function shortener($str, $len = 50, $fill = '...') { + if (strlen ( $str ) > $len) { + $str = substr ( $str, 0, $len - strlen ( $fill ) ) . $fill; + } + return $str; +} +function isEmail($str) { + $match = preg_match ( "/[a-zA-Z0-9\-\_\.]*\@[a-zA-Z0-9\-\_\.]*.[a-z]{2,10}/", $str ); + if ($match) { + return $str; + } + return false; +} +function markUp($text) { + $r = ''; + $lv = 0; + foreach ( explode ( "\n", $text ) as $t ) { + $nlv = 0; + if (startsWith ( '**** ', $t )) { + $t = substr ( $t, 5 ); + $nlv = 4; + } + if (startsWith ( '*** ', $t )) { + $t = substr ( $t, 4 ); + $nlv = 3; + } + if (startsWith ( '** ', $t )) { + $t = substr ( $t, 3 ); + $nlv = 2; + } + if (startsWith ( '* ', $t )) { + $t = substr ( $t, 2 ); + $nlv = 1; + } + if ($lv != $nlv) { + while ( $lv < $nlv ) { + $text .= ''; + $lv --; + } + } + if (startsWith ( $t, '!!!!! ' )) { + $t = '
    ' . substr ( $t, 6 ) . '
    '; + } + if (startsWith ( $t, '!!!! ' )) { + $t = '

    ' . substr ( $t, 5 ) . '

    '; + } + if (startsWith ( $t, '!!! ' )) { + $t = '

    ' . substr ( $t, 4 ) . '

    '; + } + if (startsWith ( $t, '!! ' )) { + $t = '

    ' . substr ( $t, 3 ) . '

    '; + } + if (startsWith ( $t, '! ' )) { + $t = '

    ' . substr ( $t, 2 ) . '

    '; + } + if ($lv == 0) { + $r .= $t; + } else { + $r .= '
  • ' . $t . '
  • '; + } + // var_dump ( $t ); + } + while ( $lv > 0 ) { + $r .= ''; + $lv --; + } + return $r; +} +function onlySimpleHTML($s) { + $s = str_replace ( array ( + '<', + '>' + ), array ( + '{{|-<-|}}', + '{{|->-|}}' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}b{{|->-|}}', + '{{|-<-|}}b/{{|->-|}}' + ), array ( + '', + '' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}u{{|->-|}}', + '{{|-<-|}}u/{{|->-|}}' + ), array ( + '', + '' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}i{{|->-|}}', + '{{|-<-|}}i/{{|->-|}}' + ), array ( + '', + '' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}span{{|->-|}}', + '{{|-<-|}}span/{{|->-|}}' + ), array ( + '', + '' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}b{{|->-|}}', + '{{|-<-|}}b/{{|->-|}}' + ), array ( + '', + '' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}br{{|->-|}}', + '{{|-<-|}}br/{{|->-|}}' + ), array ( + '
    ', + '
    ' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}h1{{|->-|}}', + '{{|-<-|}}h1/{{|->-|}}' + ), array ( + '

    ', + '

    ' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}h2{{|->-|}}', + '{{|-<-|}}h2/{{|->-|}}' + ), array ( + '

    ', + '

    ' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}h3{{|->-|}}', + '{{|-<-|}}h3/{{|->-|}}' + ), array ( + '

    ', + '

    ' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}h4{{|->-|}}', + '{{|-<-|}}h4/{{|->-|}}' + ), array ( + '

    ', + '

    ' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}h5{{|->-|}}', + '{{|-<-|}}h5/{{|->-|}}' + ), array ( + '

    ', + '
    ' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}h6{{|->-|}}', + '{{|-<-|}}h6/{{|->-|}}' + ), array ( + '
    ', + '
    ' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}li{{|->-|}}', + '{{|-<-|}}li/{{|->-|}}' + ), array ( + '
  • ', + '
  • ' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}ul{{|->-|}}', + '{{|-<-|}}ul/{{|->-|}}' + ), array ( + '
      ', + '
        ' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}ol{{|->-|}}', + '{{|-<-|}}ol/{{|->-|}}' + ), array ( + '
          ', + '
            ' + ), $s ); + $s = str_replace ( array ( + '{{|-<-|}}pre{{|->-|}}', + '{{|-<-|}}pre/{{|->-|}}' + ), array ( + '
            ',
            +      '
            '
            +  ), $s );
            +
            +  // cleanup
            +  $s = str_replace ( array (
            +      '{{|-',
            +      '-|}}'
            +  ), array (
            +      '',
            +      ''
            +  ), $s );
            +
            +  return $s;
            +}
             ?>
            \ No newline at end of file