本文整理汇总了PHP中isUTF8函数的典型用法代码示例。如果您正苦于以下问题:PHP isUTF8函数的具体用法?PHP isUTF8怎么用?PHP isUTF8使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了isUTF8函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _e
function _e($str)
{
if (!isUTF8($str)) {
return utf8_encode($str);
}
return $str;
}
示例2: GetTasks
function GetTasks($parentTaskId)
{
global $page;
$xmlData = "";
$i = 0;
while (isset($page->element[$i])) {
$page_element = $page->element[$i];
switch ($page_element->get_elementtype()) {
case HAW_TABLE:
$table = $page->element[$i];
for ($a = 0; $a < $table->number_of_rows; $a++) {
$xmlData .= "<row>";
$row = $table->row[$a];
for ($b = 0; $b < $row->number_of_columns; $b++) {
$column = $row->column[$b];
if (is_object($column) && $column->get_elementtype() == HAW_PLAINTEXT) {
$text = '<col>' . $column->get_text() . '</col>';
$xmlData .= !isUTF8($text) ? $text : utf8_encode($text);
}
if (is_object($column) && $column->get_elementtype() == HAW_LINK) {
$text = '<col>' . $column->get_label() . '</col>';
$xmlData .= !isUTF8($text) ? $text : utf8_encode($text);
}
}
$xmlData .= "</row>";
}
break;
}
$i++;
}
return array("somearray" => array(6 => 5, 13 => 9, "a" => 42));
//return $xmlData;
}
示例3: strip_quotes
function strip_quotes($text)
{
if (!isUTF8($text)) {
$text = utf8_encode($text);
}
return str_replace('"', "", $text);
}
示例4: create_page
function create_page()
{
$i = 0;
$content = '';
while (isset($this->element[$i])) {
$page_element = $this->element[$i];
switch ($page_element->get_elementtype()) {
case HAW_PLAINTEXT:
$text = $this->element[$i];
$content .= !isUTF8(stripslashes($text->text)) ? utf8_encode(stripslashes($text->text)) : stripslashes($text->text);
break;
case HAW_LINK:
$link = $this->element[$i];
break;
case HAW_TABLE:
$table = $this->element[$i];
echo utf8_encode("var camila_table = new Array();\n");
for ($a = 0; $a < $table->number_of_rows; $a++) {
$row = $table->row[$a];
echo utf8_encode("var camila_row");
echo !isUTF8($a) ? utf8_encode($a) : $a;
echo utf8_encode(" = new Array();\n");
for ($b = 0; $b < $row->number_of_columns; $b++) {
$column = $row->column[$b];
if (is_object($column) && $column->get_elementtype() == HAW_PLAINTEXT) {
echo utf8_encode("camila_row");
echo !isUTF8($a) ? utf8_encode($a) : $a;
echo utf8_encode("[");
echo !isUTF8($b) ? utf8_encode($b) : $b;
echo utf8_encode("] = '");
echo !isUTF8(addslashes($column->text)) ? utf8_encode(addslashes($column->text)) : addslashes($column->text);
echo utf8_encode("';\n");
}
if (is_object($column) && $column->get_elementtype() == HAW_LINK) {
echo utf8_encode("camila_row");
echo !isUTF8($a) ? utf8_encode($a) : $a;
echo utf8_encode("[");
echo !isUTF8($b) ? utf8_encode($b) : $b;
echo utf8_encode("] = '");
echo !isUTF8(addslashes($column->label)) ? utf8_encode(addslashes($column->label)) : addslashes($column->label);
echo utf8_encode("';\n");
}
}
echo utf8_encode("camila_table[");
echo !isUTF8($a) ? utf8_encode($a) : $a;
echo utf8_encode("] = camila_row");
echo !isUTF8($a) ? utf8_encode($a) : $a;
echo utf8_encode(";\n");
}
break;
}
$i++;
!isUTF8(stripslashes($text->text)) ? utf8_encode(stripslashes($text->text)) : stripslashes($text->text);
}
echo utf8_encode("var camila_content='");
echo $content;
echo utf8_encode("';\n");
}
示例5: makeUTF8
function makeUTF8($str, $encoding = "")
{
if ($str !== "") {
if (empty($encoding) && isUTF8($str)) {
$encoding = "UTF-8";
}
if (empty($encoding)) {
$encoding = mb_detect_encoding($str, 'UTF-8, ISO-8859-1');
}
if (empty($encoding)) {
$encoding = "ISO-8859-1";
}
// if charset can't be detected, default to ISO-8859-1
return $encoding == "UTF-8" ? $str : @mb_convert_encoding($str, "UTF-8", $encoding);
}
}
示例6: create_page
function create_page()
{
global $_CAMILA;
if ($_REQUEST['camila_export_action'] == '' || $_REQUEST['camila_export_action'] == 'download') {
header("Content-type: application/csv");
header("Content-Disposition: filename=\"" . $this->camila_export_safe_filename() . ".csv\"");
} else {
$_CAMILA['ob_filename'] = $this->camila_export_safe_filename() . '.' . $this->camila_export_get_ext();
if (!$this->camila_export_file_exists || $_REQUEST['camila_export_overwrite'] == 'y') {
$_CAMILA['ob_file'] = fopen($this->camila_export_get_dir() . $this->camila_export_filename(), 'w');
}
ob_start('camila_ob_file_callback');
}
$i = 0;
while (isset($this->element[$i])) {
$page_element = $this->element[$i];
switch ($page_element->get_elementtype()) {
case HAW_TABLE:
$table = $this->element[$i];
for ($a = 0; $a < $table->number_of_rows; $a++) {
$row = $table->row[$a];
for ($b = 0; $b < $row->number_of_columns; $b++) {
$column = $row->column[$b];
if (is_object($column) && $column->get_elementtype() == HAW_PLAINTEXT) {
$text = "\"" . str_replace('"', '""', $column->get_text()) . "\"";
echo isUTF8($text) ? $text : utf8_encode($text);
}
if (is_object($column) && $column->get_elementtype() == HAW_LINK) {
$text = "\"" . str_replace('"', '""', $column->get_label()) . "\"";
echo isUTF8($text) ? $text : utf8_encode($text);
}
if ($b < $row->number_of_columns - 1) {
echo utf8_encode(",");
} else {
echo utf8_encode("\n");
}
}
}
break;
}
$i++;
}
if ($_REQUEST['camila_export_action'] != '' && $_REQUEST['camila_export_action'] != 'download') {
ob_end_flush();
}
}
示例7: get_site_meta_tags
function get_site_meta_tags($url)
{
$site_title = array();
$fp = @file_get_contents($url);
if ($fp) {
$res = preg_match("/<title>(.*)<\\/title>/siU", $fp, $title_matches);
if ($res) {
$site_title = preg_replace('/\\s+/', ' ', $title_matches[1]);
$site_title = trim($site_title);
}
$site_meta_tags = get_meta_tags($url);
$site_meta_tags['title'] = $site_title;
foreach ($site_meta_tags as $key => $value) {
if (!isUTF8($value)) {
$site_meta_tags[$key] = utf8_encode($value);
}
}
}
return $site_meta_tags;
}
示例8: fputs
} else {
//data is lost ... unknown encryption
}
}
fputs($dbgDuo, "\nCategory treatment done.");
}
}
if ($next >= $_POST['total']) {
$finish = "suggestion";
}
} else {
fputs($dbgDuo, "\nStarting suggestion.\n\n");
// decrypt passwords in suggestion table
$resData = mysqli_query($dbTmp, "SELECT id, pw, pw_iv\n FROM " . $_SESSION['tbl_prefix'] . "suggestion") or die(mysqli_error($dbTmp));
while ($record = mysqli_fetch_array($resData)) {
$tmpData = substr(decrypt($record['pw']), strlen($record['pw_iv']));
if (isUTF8($tmpData) && !empty($tmpData)) {
$encrypt = cryption($tmpData, SALT, "", "encrypt");
// store Password
mysqli_query($dbTmp, "UPDATE " . $_SESSION['tbl_prefix'] . "suggestion\n SET pw = '" . $encrypt['string'] . "', pw_iv = '" . $encrypt['iv'] . "'\n WHERE id =" . $record['id']) or die(mysqli_error($dbTmp));
} else {
//data is lost ... unknown encryption
}
}
$finish = true;
}
fputs($dbgDuo, "\n\nAll finished.\n");
echo '[{"finish":"' . $finish . '" , "next":"' . $next . '" ' . ', "progress":"' . round($next * 100 / $_POST['total'], 0) . '"}]';
break;
}
}
示例9: substr
// Prepare encryption options
$iv = substr(md5("<X" . SALT, true), 0, 8);
$key = substr(md5("-üØ" . SALT, true) . md5("-üÙ" . SALT, true), 0, 24);
$opts = array('iv' => $iv, 'key' => $key);
// treat 10 files
$filesList = explode(';', $_POST['list']);
foreach ($filesList as $file) {
if ($cpt < 5) {
// skip file is Coherancey not respected
$fp = fopen($_SESSION['settings']['path_to_upload_folder'] . '/' . $file, "rb");
$line = fgets($fp);
$skipFile = false;
// check if isUTF8. If yes, then check if process = encryption, and vice-versa
if (!isUTF8($line) && $_POST['option'] == "decrypt") {
$skipFile = true;
} elseif (isUTF8($line) && $_POST['option'] == "encrypt") {
$skipFile = true;
}
fclose($fp);
if ($skipFile == true) {
// make a copy of file
if (!copy($_SESSION['settings']['path_to_upload_folder'] . '/' . $file, $_SESSION['settings']['path_to_upload_folder'] . '/' . $file . ".copy")) {
$error = "Copy not possible";
exit;
}
// Open the file
unlink($_SESSION['settings']['path_to_upload_folder'] . '/' . $file);
$fp = fopen($_SESSION['settings']['path_to_upload_folder'] . '/' . $file . ".copy", "rb");
$out = fopen($_SESSION['settings']['path_to_upload_folder'] . '/' . $file, 'wb');
if ($_POST['option'] == "decrypt") {
stream_filter_append($fp, 'mdecrypt.tripledes', STREAM_FILTER_READ, $opts);
示例10: array
$rationale = '';
$status = array();
// Get the values from the REQUEST parameters
foreach ($_REQUEST as $name => $value) {
if ($name == 'email') {
$email = $value;
// XXX do stripslashes() here and below?
} elseif ($name == 'rationale') {
$rationale = $value;
} elseif ($value == 'TBW' || $value == 'WIP' || $value == 'SCS' || $value == 'none') {
// Ignore any other values, including empty values.
$status[addslashes($name)] = $value;
}
}
// Ensure that email and rationale were provided
if ($email == '' || !Email::isValidEmail($email) || $rationale == '' || !isUTF8($rationale) || mb_strlen($rationale) > 125) {
getMissingInfo($email, $rationale, $status);
} else {
if ($_SERVER['PATH_INFO'] == '/confirm') {
updateDB($email, $rationale, $status);
outputConfirmed();
} else {
$body = getMailConfirmRequest($email, $rationale, $status);
$sig = "HTML5 Status Updates\nhttp://www.whatwg.org/html5";
$mail = new Email();
$mail->setSubject("HTML5 Status Update");
$mail->addRecipient('To', 'whatwg@lachy.id.au', 'Lachlan Hunt');
$mail->setFrom("whatwg@whatwg.org", "WHATWG");
$mail->setSignature($sig);
$mail->setText($body);
$mail->send();
示例11: convertAccents
/**
* Converts accented characters into their plain alphabetic counterparts
*
* @access public
* @param string Raw text
* @return string Cleaned text
*/
function convertAccents($string)
{
if (!preg_match('/[\\x80-\\xff]/', $string)) {
return $string;
}
if (isUTF8($string)) {
$_chr = array(chr(195) . chr(128) => 'A', chr(195) . chr(129) => 'A', chr(195) . chr(130) => 'A', chr(195) . chr(131) => 'A', chr(195) . chr(132) => 'A', chr(195) . chr(133) => 'A', chr(195) . chr(135) => 'C', chr(195) . chr(136) => 'E', chr(195) . chr(137) => 'E', chr(195) . chr(138) => 'E', chr(195) . chr(139) => 'E', chr(195) . chr(140) => 'I', chr(195) . chr(141) => 'I', chr(195) . chr(142) => 'I', chr(195) . chr(143) => 'I', chr(195) . chr(145) => 'N', chr(195) . chr(146) => 'O', chr(195) . chr(147) => 'O', chr(195) . chr(148) => 'O', chr(195) . chr(149) => 'O', chr(195) . chr(150) => 'O', chr(195) . chr(153) => 'U', chr(195) . chr(154) => 'U', chr(195) . chr(155) => 'U', chr(195) . chr(156) => 'U', chr(195) . chr(157) => 'Y', chr(195) . chr(159) => 's', chr(195) . chr(160) => 'a', chr(195) . chr(161) => 'a', chr(195) . chr(162) => 'a', chr(195) . chr(163) => 'a', chr(195) . chr(164) => 'a', chr(195) . chr(165) => 'a', chr(195) . chr(167) => 'c', chr(195) . chr(168) => 'e', chr(195) . chr(169) => 'e', chr(195) . chr(170) => 'e', chr(195) . chr(171) => 'e', chr(195) . chr(172) => 'i', chr(195) . chr(173) => 'i', chr(195) . chr(174) => 'i', chr(195) . chr(175) => 'i', chr(195) . chr(177) => 'n', chr(195) . chr(178) => 'o', chr(195) . chr(179) => 'o', chr(195) . chr(180) => 'o', chr(195) . chr(181) => 'o', chr(195) . chr(182) => 'o', chr(195) . chr(182) => 'o', chr(195) . chr(185) => 'u', chr(195) . chr(186) => 'u', chr(195) . chr(187) => 'u', chr(195) . chr(188) => 'u', chr(195) . chr(189) => 'y', chr(195) . chr(191) => 'y', chr(196) . chr(128) => 'A', chr(196) . chr(129) => 'a', chr(196) . chr(130) => 'A', chr(196) . chr(131) => 'a', chr(196) . chr(132) => 'A', chr(196) . chr(133) => 'a', chr(196) . chr(134) => 'C', chr(196) . chr(135) => 'c', chr(196) . chr(136) => 'C', chr(196) . chr(137) => 'c', chr(196) . chr(138) => 'C', chr(196) . chr(139) => 'c', chr(196) . chr(140) => 'C', chr(196) . chr(141) => 'c', chr(196) . chr(142) => 'D', chr(196) . chr(143) => 'd', chr(196) . chr(144) => 'D', chr(196) . chr(145) => 'd', chr(196) . chr(146) => 'E', chr(196) . chr(147) => 'e', chr(196) . chr(148) => 'E', chr(196) . chr(149) => 'e', chr(196) . chr(150) => 'E', chr(196) . chr(151) => 'e', chr(196) . chr(152) => 'E', chr(196) . chr(153) => 'e', chr(196) . chr(154) => 'E', chr(196) . chr(155) => 'e', chr(196) . chr(156) => 'G', chr(196) . chr(157) => 'g', chr(196) . chr(158) => 'G', chr(196) . chr(159) => 'g', chr(196) . chr(160) => 'G', chr(196) . chr(161) => 'g', chr(196) . chr(162) => 'G', chr(196) . chr(163) => 'g', chr(196) . chr(164) => 'H', chr(196) . chr(165) => 'h', chr(196) . chr(166) => 'H', chr(196) . chr(167) => 'h', chr(196) . chr(168) => 'I', chr(196) . chr(169) => 'i', chr(196) . chr(170) => 'I', chr(196) . chr(171) => 'i', chr(196) . chr(172) => 'I', chr(196) . chr(173) => 'i', chr(196) . chr(174) => 'I', chr(196) . chr(175) => 'i', chr(196) . chr(176) => 'I', chr(196) . chr(177) => 'i', chr(196) . chr(178) => 'IJ', chr(196) . chr(179) => 'ij', chr(196) . chr(180) => 'J', chr(196) . chr(181) => 'j', chr(196) . chr(182) => 'K', chr(196) . chr(183) => 'k', chr(196) . chr(184) => 'k', chr(196) . chr(185) => 'L', chr(196) . chr(186) => 'l', chr(196) . chr(187) => 'L', chr(196) . chr(188) => 'l', chr(196) . chr(189) => 'L', chr(196) . chr(190) => 'l', chr(196) . chr(191) => 'L', chr(197) . chr(128) => 'l', chr(197) . chr(129) => 'L', chr(197) . chr(130) => 'l', chr(197) . chr(131) => 'N', chr(197) . chr(132) => 'n', chr(197) . chr(133) => 'N', chr(197) . chr(134) => 'n', chr(197) . chr(135) => 'N', chr(197) . chr(136) => 'n', chr(197) . chr(137) => 'N', chr(197) . chr(138) => 'n', chr(197) . chr(139) => 'N', chr(197) . chr(140) => 'O', chr(197) . chr(141) => 'o', chr(197) . chr(142) => 'O', chr(197) . chr(143) => 'o', chr(197) . chr(144) => 'O', chr(197) . chr(145) => 'o', chr(197) . chr(146) => 'OE', chr(197) . chr(147) => 'oe', chr(197) . chr(148) => 'R', chr(197) . chr(149) => 'r', chr(197) . chr(150) => 'R', chr(197) . chr(151) => 'r', chr(197) . chr(152) => 'R', chr(197) . chr(153) => 'r', chr(197) . chr(154) => 'S', chr(197) . chr(155) => 's', chr(197) . chr(156) => 'S', chr(197) . chr(157) => 's', chr(197) . chr(158) => 'S', chr(197) . chr(159) => 's', chr(197) . chr(160) => 'S', chr(197) . chr(161) => 's', chr(197) . chr(162) => 'T', chr(197) . chr(163) => 't', chr(197) . chr(164) => 'T', chr(197) . chr(165) => 't', chr(197) . chr(166) => 'T', chr(197) . chr(167) => 't', chr(197) . chr(168) => 'U', chr(197) . chr(169) => 'u', chr(197) . chr(170) => 'U', chr(197) . chr(171) => 'u', chr(197) . chr(172) => 'U', chr(197) . chr(173) => 'u', chr(197) . chr(174) => 'U', chr(197) . chr(175) => 'u', chr(197) . chr(176) => 'U', chr(197) . chr(177) => 'u', chr(197) . chr(178) => 'U', chr(197) . chr(179) => 'u', chr(197) . chr(180) => 'W', chr(197) . chr(181) => 'w', chr(197) . chr(182) => 'Y', chr(197) . chr(183) => 'y', chr(197) . chr(184) => 'Y', chr(197) . chr(185) => 'Z', chr(197) . chr(186) => 'z', chr(197) . chr(187) => 'Z', chr(197) . chr(188) => 'z', chr(197) . chr(189) => 'Z', chr(197) . chr(190) => 'z', chr(197) . chr(191) => 's', chr(226) . chr(130) . chr(172) => 'E', chr(194) . chr(163) => '');
$string = strtr($string, $_chr);
} else {
$_chr = array();
$_dblChars = array();
/* We assume ISO-8859-1 if not UTF-8 */
$_chr['in'] = chr(128) . chr(131) . chr(138) . chr(142) . chr(154) . chr(158) . chr(159) . chr(162) . chr(165) . chr(181) . chr(192) . chr(193) . chr(194) . chr(195) . chr(199) . chr(200) . chr(201) . chr(202) . chr(203) . chr(204) . chr(205) . chr(206) . chr(207) . chr(209) . chr(210) . chr(211) . chr(212) . chr(213) . chr(217) . chr(218) . chr(219) . chr(220) . chr(221) . chr(224) . chr(225) . chr(226) . chr(227) . chr(231) . chr(232) . chr(233) . chr(234) . chr(235) . chr(236) . chr(237) . chr(238) . chr(239) . chr(241) . chr(242) . chr(243) . chr(244) . chr(245) . chr(249) . chr(250) . chr(251) . chr(252) . chr(253) . chr(255) . chr(191) . chr(182) . chr(179) . chr(166) . chr(230) . chr(198) . chr(175) . chr(172) . chr(188) . chr(163) . chr(161) . chr(177);
$_chr['out'] = "EfSZszYcYuAAAACEEEEIIIINOOOOUUUUYaaaaceeeeiiiinoooouuuuyyzslScCZZzLAa";
$string = strtr($string, $_chr['in'], $_chr['out']);
$_dblChars['in'] = array(chr(140), chr(156), chr(196), chr(197), chr(198), chr(208), chr(214), chr(216), chr(222), chr(223), chr(228), chr(229), chr(230), chr(240), chr(246), chr(248), chr(254));
$_dblChars['out'] = array('Oe', 'oe', 'Ae', 'Aa', 'Ae', 'DH', 'Oe', 'Oe', 'TH', 'ss', 'ae', 'aa', 'ae', 'dh', 'oe', 'oe', 'th');
$string = str_replace($_dblChars['in'], $_dblChars['out'], $string);
}
return $string;
}
示例12: expression_results_and_interface
//.........这里部分代码省略.........
echo "Database Statement:<ul><textarea readonly='readonly' style='background-color:#ddd;width:600px;'>";
echo htmlspecialchars($this_value);
echo "</textarea></ul>";
}
// end if (database hf)
// Send E-Mail
// TODO
echo "<br/>";
echo "<input type='submit' value='" . getTranslation("Update", $settings) . "'/>";
echo "<input type='submit' name='btnUp' value='" . getTranslation("Move Up", $settings) . "'/>";
echo "<input type='submit' name='btnDown' value='" . getTranslation("Move Down", $settings) . "'/>";
echo "<input type='submit' name='btnDelete' value='" . getTranslation("Delete", $settings) . "'/>";
echo "</form>";
echo "</ul>";
echo "<br/>";
}
// end if (edit mode);
}
}
}
}
// end if (match entry type == output)
}
// END FOREACH (MATCH ENTRY)
if ($mode_edit) {
echo "</ul>";
}
}
// END IF (ANY MATCH ENTRIES ON THIS MATCH)
// NO MATCH PROCESSING FILTERS ON THIS AT ALL; PRINT OUT THE VALUE YOU HAVE
if (!$bool_has_filter && !$bool_has_output) {
if ($mode_cxml && !$mode_jidonly) {
if (!$bool_buffer_output_merge) {
if (!isUTF8($this_value)) {
// TODO: WHAT IF THIS WAS BINARY RESULT CONTENT?
echo mb_convert_encoding($this_value, "UTF-8");
} else {
echo $this_value;
}
}
}
// mode cxml
$retval['buffer'] = $retval['buffer'] . $this_value;
if ($mode_xml && !$mode_jidonly) {
for ($in = 1; $in < $idt + 2; $in++) {
echo "\t";
}
echo "<value>";
//echo "<offset>".$this_idx."</offset>";
echo "<string>";
if (!isUTF8($this_value)) {
echo mb_convert_encoding(htmlspecialchars($this_value), "UTF-8");
} else {
echo htmlspecialchars($this_value);
}
echo "</string>";
echo "</value>\n";
}
// mode xml
}
// end if ( no filters found - behavior )
// ADD OUTPUT, ADD PROCESSING, ADD OPERATION, ADD ACTION GUI ELEMENTS
if ($mode_edit) {
//echo "</div>";
//echo "<ul>";
echo "\n";
示例13: create_page
function create_page()
{
$tqx_pieces = explode(";", $_REQUEST['tqx']);
foreach ($tqx_pieces as $p) {
$arr = explode(":", $p);
$this->_gva_tqx[$arr[0]] = $arr[1];
}
if ($this->_gva_tqx['reqId'] != '') {
$this->_gva_reqId = $this->_gva_tqx['reqId'];
}
if ($this->_gva_tqx['out'] != '') {
$this->_gva_out = $this->_gva_tqx['out'];
}
if ($this->_gva_tqx['responseHandler'] != '') {
$this->_gva_responseHandler = $this->_gva_tqx['responseHandler'];
}
$i = 0;
while (isset($this->element[$i])) {
$page_element = $this->element[$i];
switch ($page_element->get_elementtype()) {
case HAW_TABLE:
$table = $this->element[$i];
switch ($this->_gva_out) {
case 'csv':
//header("Content-type: application/csv");
//header("Content-Disposition: filename=\"" . trim($this->title) . ".csv\"");
for ($a = 0; $a < $table->number_of_rows; $a++) {
$row = $table->row[$a];
for ($b = 0; $b < $row->number_of_columns; $b++) {
$column = $row->column[$b];
if (is_object($column) && $column->get_elementtype() == HAW_PLAINTEXT) {
$text = "\"" . str_replace('"', '""', $column->get_text()) . "\"";
echo isUTF8($text) ? $text : utf8_encode($text);
}
if (is_object($column) && $column->get_elementtype() == HAW_LINK) {
$text = "\"" . str_replace('"', '""', $column->get_label()) . "\"";
echo isUTF8($text) ? $text : utf8_encode($text);
}
if ($b < $row->number_of_columns - 1) {
echo utf8_encode(",");
} else {
echo utf8_encode("\n");
}
}
}
break;
case 'json':
echo $this->_gva_responseHandler . "(";
$cols = array();
$a = 0;
$row = $table->row[$a];
for ($b = 0; $b < $row->number_of_columns; $b++) {
$column = $row->column[$b];
if (is_object($column) && $column->get_elementtype() == HAW_PLAINTEXT) {
$text = $column->get_text();
$text = isUTF8($text) ? $text : utf8_encode($text);
}
if (is_object($column) && $column->get_elementtype() == HAW_LINK) {
$text = $column->get_label();
$text = isUTF8($text) ? $text : utf8_encode($text);
}
switch ($column->metatype) {
case 'I':
case 'N':
$cols[] = array('id' => $b, 'label' => $text, 'type' => 'number');
break;
default:
$cols[] = array('id' => $b, 'label' => $text, 'type' => 'string');
}
}
$rows = array();
for ($a = 1; $a < $table->number_of_rows; $a++) {
$row = $table->row[$a];
$r = array();
for ($b = 0; $b < $row->number_of_columns; $b++) {
$column = $row->column[$b];
if (is_object($column) && $column->get_elementtype() == HAW_PLAINTEXT) {
$text = $column->get_text();
$text = isUTF8($text) ? $text : utf8_encode($text);
}
if (is_object($column) && $column->get_elementtype() == HAW_LINK) {
$text = $column->get_label();
$text = isUTF8($text) ? $text : utf8_encode($text);
}
switch ($column->metatype) {
case 'I':
$r[] = array('v' => (int) $text);
break;
default:
$r[] = array('v' => $text);
}
}
$rows[] = array('c' => $r);
}
$this->_gva_table = array('cols' => $cols, 'rows' => $rows);
$jarr = array('version' => $this->_gva_version, 'status' => $this->_gva_status, 'table' => $this->_gva_table, 'sig' => md5(serialize($this->_gva_table)));
if ($this->_gva_reqId != '') {
$jarr['reqId'] = $this->_gva_reqId;
}
$json = new Services_JSON();
//.........这里部分代码省略.........
示例14: validate
function validate()
{
if (!$this->updatable || strpos(strtolower($this->validation), 'ignore') !== false) {
return true;
}
parent::validate();
$found = false;
reset($this->options);
while ($tok = each($this->options)) {
$curr = isUTF8($tok[1][0]) ? $tok[1][0] : utf8_encode($tok[1][0]);
if ($curr == $this->value) {
$found = true;
}
}
if (!$found) {
$this->form->validator->setError($this->field, 901);
}
}
示例15: utf8_to_ascii
/**
* US-ASCII transliterations of Unicode text
* Ported Sean M. Burke's Text::Unidecode Perl module (He did all the hard work!)
* Warning: you should only pass this well formed UTF-8!
* Be aware it works by making a copy of the input string which it appends transliterated
* characters to - it uses a PHP output buffer to do this - it means, memory use will increase,
* requiring up to the same amount again as the input string
* @see http://search.cpan.org/~sburke/Text-Unidecode-0.04/lib/Text/Unidecode.pm
* @param string UTF-8 string to convert
* @param string (default = ?) Character use if character unknown
* @return string US-ASCII string
* @package utf8_to_ascii
*/
function utf8_to_ascii($str, $unknown = '?')
{
# The database for transliteration stored here
static $UTF8_TO_ASCII = array();
# Variable lookups faster than accessing constants
$UTF8_TO_ASCII_DB = UTF8_TO_ASCII_DB;
if (!isUTF8($str)) {
$str = utf8_encode($str);
}
if (strlen($str) == 0) {
return '';
}
$len = strlen($str);
$i = 0;
# Use an output buffer to copy the transliterated string
# This is done for performance vs. string concatenation - on my system, drops
# the average request time for the example from ~0.46ms to 0.41ms
# See http://phplens.com/lens/php-book/optimizing-debugging-php.php
# Section "High Return Code Optimizations"
ob_start();
while ($i < $len) {
$ord = NULL;
$increment = 1;
$ord0 = ord($str[$i]);
# Much nested if /else - PHP fn calls expensive, no block scope...
# 1 byte - ASCII
if ($ord0 >= 0 && $ord0 <= 127) {
$ord = $ord0;
$increment = 1;
} else {
# 2 bytes
$ord1 = ord($str[$i + 1]);
if ($ord0 >= 192 && $ord0 <= 223) {
$ord = ($ord0 - 192) * 64 + ($ord1 - 128);
$increment = 2;
} else {
# 3 bytes
$ord2 = ord($str[$i + 2]);
if ($ord0 >= 224 && $ord0 <= 239) {
$ord = ($ord0 - 224) * 4096 + ($ord1 - 128) * 64 + ($ord2 - 128);
$increment = 3;
} else {
# 4 bytes
$ord3 = ord($str[$i + 3]);
if ($ord0 >= 240 && $ord0 <= 247) {
$ord = ($ord0 - 240) * 262144 + ($ord1 - 128) * 4096 + ($ord2 - 128) * 64 + ($ord3 - 128);
$increment = 4;
} else {
ob_end_clean();
trigger_error("utf8_to_ascii: looks like badly formed UTF-8 at byte {$i}");
return FALSE;
}
}
}
}
$bank = $ord >> 8;
# If we haven't used anything from this bank before, need to load it...
if (!array_key_exists($bank, $UTF8_TO_ASCII)) {
$bankfile = UTF8_TO_ASCII_DB . '/' . sprintf("x%02x", $bank) . '.php';
if (file_exists($bankfile)) {
# Load the appropriate database
if (!(include $bankfile)) {
ob_end_clean();
trigger_error("utf8_to_ascii: unable to load {$bankfile}");
}
} else {
# Some banks are deliberately empty
$UTF8_TO_ASCII[$bank] = array();
}
}
$newchar = $ord & 255;
if (array_key_exists($newchar, $UTF8_TO_ASCII[$bank])) {
echo $UTF8_TO_ASCII[$bank][$newchar];
} else {
echo $unknown;
}
$i += $increment;
}
$str = ob_get_contents();
ob_end_clean();
return $str;
}