Beispiel #1
0
 /**
  * Removes the @ symbol from a username in the body of the node.
  * 
  * @param string username
  */
 protected function invalidateUsername($username)
 {
     $this->_mixer->set('body', KHelperString::str_ireplace('@' . $username, $username, $this->_mixer->body));
 }
Beispiel #2
0
 /**
  * UTF-8 aware alternative to str_ireplace
  *
  * Case-insensitive version of str_replace
  *
  * @param string string to search
  * @param string existing string to replace
  * @param string new string to replace with
  * @param int optional count value to be passed by referene
  * @see http://www.php.net/str_ireplace
  */
 public static function str_ireplace($search, $replace, $str, $count = NULL)
 {
     if (!is_array($search)) {
         $slen = strlen($search);
         $lendif = strlen($replace) - $slen;
         if ($slen == 0) {
             return $str;
         }
         $search = KHelperString::strtolower($search);
         $search = preg_quote($search, '/');
         $lstr = KHelperString::strtolower($str);
         $i = 0;
         $matched = 0;
         while (preg_match('/(.*)' . $search . '/Us', $lstr, $matches)) {
             if ($i === $count) {
                 break;
             }
             $mlen = strlen($matches[0]);
             $lstr = substr($lstr, $mlen);
             $str = substr_replace($str, $replace, $matched + strlen($matches[1]), $slen);
             $matched += $mlen + $lendif;
             $i++;
         }
         return $str;
     } else {
         foreach (array_keys($search) as $k) {
             if (is_array($replace)) {
                 if (array_key_exists($k, $replace)) {
                     $str = KHelperString::str_ireplace($search[$k], $replace[$k], $str, $count);
                 } else {
                     $str = KHelperString::str_ireplace($search[$k], '', $str, $count);
                 }
             } else {
                 $str = KHelperString::str_ireplace($search[$k], $replace, $str, $count);
             }
         }
         return $str;
     }
 }
Beispiel #3
0
 /**
  * Return a sanitized version of a text which can be assigned to a javascript variable.
  *
  * @param string $text The text to sanitize
  * 
  * @return string
  */
 public function script($text)
 {
     return htmlspecialchars($this->getService('koowa:filter.string')->sanitize(KHelperString::str_ireplace(array("\r\n", "\n"), '', $text)), ENT_QUOTES);
 }