本文整理汇总了PHP中unicode2charset函数 的典型用法代码示例。如果您正苦于以下问题:PHP unicode2charset函数的具体用法?PHP unicode2charset怎么用?PHP unicode2charset使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了unicode2charset函数 的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: pdf_first_clean
function pdf_first_clean($texte){
// Cette focntion est appelé après la fonction propre
// $texte = ereg_replace("<p class[^>]*>", "<P>", $texte);
//Translation des codes iso
// PB avec l'utilisation de <code>
$trans = get_html_translation_table(HTML_ENTITIES);
$texte = preg_replace(',<!-- .* -->,msU', '', $texte); // supprimer les remarques HTML (du Couteau Suisse ?)
$trans = array_flip($trans);
$trans["<br />\n"] = "<BR>"; // Pour éviter que le \n ne se tranforme en espace dans les <DIV class=spip_code> (TT, tag SPIP : code)
$trans['°'] = "°";
$trans["œ"] = "oe";
$trans["‎"] = "";
$trans["–"] = "-";
$trans["‘"] = "'";
$trans["’"] = "'";
$trans["“"] = "\"";
$trans["”"] = "\"";
$trans["…"] = "...";
$trans["€"] = "Euros";
$trans["û"] = "û";
$trans['->'] = '-»';
$trans['<-'] = '«-';
$trans[' '] = ' ';
// certains titles font paniquer l'analyse
$texte = preg_replace(',title=".*",msU', 'title=""', $texte);
$texte = unicode2charset(charset2unicode($texte), 'iso-8859-1'); // repasser tout dans un charset acceptable par export PDF
$texte = strtr($texte, $trans);
return $texte;
}
开发者ID:samszo, 项目名称:open-edition, 代码行数:31, 代码来源:article_pdf_mes_fonctions.php
示例2: plugins_afficher_liste_dist
function plugins_afficher_liste_dist($url_page,$liste_plugins, $liste_plugins_actifs, $dir_plugins=_DIR_PLUGINS,$afficher_un = 'afficher_plugin'){
$get_infos = charger_fonction('get_infos','plugins');
$ligne_plug = charger_fonction($afficher_un,'plugins');
$liste_plugins = array_flip($liste_plugins);
foreach(array_keys($liste_plugins) as $chemin) {
if ($info = $get_infos($chemin, false, $dir_plugins))
$liste_plugins[$chemin] = strtoupper(trim(typo(translitteration(unicode2charset(html2unicode($info['nom']))))));
}
asort($liste_plugins);
$exposed = urldecode(_request('plugin'));
$block_par_lettre = false;//count($liste_plugins)>10;
$fast_liste_plugins_actifs = array_flip($liste_plugins_actifs);
$res = '';
$block = '';
$initiale = '';
$block_actif = false;
foreach($liste_plugins as $plug => $nom){
if (($i=substr($nom,0,1))!==$initiale){
$res .= $block_par_lettre ? affiche_block_initiale($initiale,$block,$block_actif): $block;
$initiale = $i;
$block = '';
$block_actif = false;
}
// le rep suivant
$actif = @isset($fast_liste_plugins_actifs[$plug]);
$block_actif = $block_actif | $actif;
$expose = ($exposed AND ($exposed==$plug OR $exposed==$dir_plugins . $plug OR $exposed==substr($dir_plugins,strlen(_DIR_RACINE)) . $plug));
$block .= $ligne_plug($url_page, $plug, $actif, $expose, "item", $dir_plugins)."\n";
}
$res .= $block_par_lettre ? affiche_block_initiale($initiale,$block,$block_actif): $block;
$class = basename($dir_plugins);
return $res ? "<ul class='liste-items plugins $class'>$res</ul>" : "";
}
开发者ID:rhertzog, 项目名称:lcs, 代码行数:34, 代码来源:afficher_liste.php
示例3: exporter_csv_ligne
/**
* Exporter une ligne complete au format CSV, avec delimiteur fourni
* @param array $ligne
* @param string $delim
* @return string
*/
function exporter_csv_ligne($ligne, $delim = ',', $importer_charset = null) {
$output = join($delim, array_map('exporter_csv_champ', $ligne))."\r\n";
if ($importer_charset){
$output = unicode2charset(html2unicode(charset2unicode($output)), $importer_charset);
}
return $output;
}
开发者ID:rhertzog, 项目名称:lcs, 代码行数:13, 代码来源:exporter_csv.php
示例4: typographie_fr_dist
function typographie_fr_dist($letexte)
{
static $trans;
// Nettoyer 160 = nbsp ; 187 = raquo ; 171 = laquo ; 176 = deg ;
// 147 = ldquo; 148 = rdquo; ' = zouli apostrophe
if (!$trans) {
$trans = array("'" => "’", " " => "~", "»" => "»", "«" => "«", "”" => "”", "“" => "“", "°" => "°");
$chars = array(160 => '~', 187 => '»', 171 => '«', 148 => '”', 147 => '“', 176 => '°');
$chars_trans = array_keys($chars);
$chars = array_values($chars);
$chars_trans = implode(' ', array_map('chr', $chars_trans));
$chars_trans = unicode2charset(charset2unicode($chars_trans, 'iso-8859-1', 'forcer'));
$chars_trans = explode(" ", $chars_trans);
foreach ($chars as $k => $r) {
$trans[$chars_trans[$k]] = $r;
}
}
$letexte = strtr($letexte, $trans);
$cherche1 = array('/((?:^|[^\\#0-9a-zA-Z\\&])[\\#0-9a-zA-Z]*)\\;/S', '/»| --?,|(?::| %)(?:\\W|$)/S', '/([^[<(!?.])([!?][!?\\.]*)/iS', '/«|(?:M(?:M?\\.|mes?|r\\.?)|[MnN]°) /S');
$remplace1 = array('\\1~;', '~\\0', '\\1~\\2', '\\0~');
$letexte = preg_replace($cherche1, $remplace1, $letexte);
$letexte = preg_replace("/ *~+ */S", "~", $letexte);
$cherche2 = array('/([^-\\n]|^)--([^-]|$)/S', ',(http|https|ftp|mailto)~((://[^"\'\\s\\[\\]\\}\\)<>]+)~([?]))?,S', '/~/');
$remplace2 = array('\\1—\\2', '\\1\\3\\4', ' ');
$letexte = preg_replace($cherche2, $remplace2, $letexte);
return $letexte;
}
开发者ID:nursit, 项目名称:SPIP, 代码行数:27, 代码来源:fr.php
示例5: typo_exposants_fr
function typo_exposants_fr($texte){
static $typo = NULL;
static $egrave; static $eaigu1; static $eaigu2; static $accents;
if (is_null($typo)) {
// en principe, pas besoin de : caractere_utf_8(232)
$egrave = unicode2charset('è').'|è|è';
$eaigu1 = unicode2charset('é').'|é|é';
$eaigu2 = unicode2charset('É').'|É|É';
$accents = unicode2charset('àáâäåæèéêëìíîïòóôöùúûü');
$typo = array( array(
'/(?<=\bM)e?(lles?)\b/', // Mlle(s), Mme(s) et erreurs Melle(s)
'/(?<=\bM)(gr|mes?)\b/', // Mme(s) et Mgr
'/(?<=\b[DP])(r)(?=[\s\.-])/', // Dr, Pr suivis d'un espace d'un point ou d'un tiret
'/\bm²\b/', '/(?<=\bm)([23])\b/', // m2, m3, m²
'/(?<=\b[Mm])([nd]s?)\b/', // millions, milliards
'/(?<=\bV)(ve)\b/', '/(?<=\bC)(ies?)\b/', // Vve et Cie(s)
"/(?<=\bS)(t(?:$eaigu1)s?)(?=\W)/", "/(?<=\W)(?:E|$eaigu2)ts\b/", // Societes(s), Etablissements
'/(?<=\b[1I])i?(ers?)\b/', // 1er(s), Erreurs 1ier(s), 1ier(s)
"/(?<=\b[1I])i?(?:e|$egrave)(res?)\b/", // Erreurs 1(i)ere(s) + accents
'/(?<=\b1)(r?es?)\b/', // 1e(s), 1re(s)
'/(?<=\b2)(nde?s?)\b/', // 2nd(e)(s)
"/(\b[0-9IVX]+)i?(?:e|$egrave)?me(s?)\b/", // Erreurs (i)(e)me(s) + accents
'/\b([0-9IVX]+)(es?)\b/', // 2e(s), IIIe(s)... (les 1(e?r?s?) ont deja ete remplaces)
"/(?<![;$accents])\b(\d+|r|v)o(?=(?: |[\s,;:!\/\?\.-]))/", // recto, verso, primo, secondo, etc.
'/(?<=\bM)(e)(?= [A-Z])/', // Maitre (suivi d'un espace et d'une majuscule)
), array(
_TYPO_sup, _TYPO_sup, // Mlle(s), Mme(s), Mgr
_TYPO_sup, // Dr, Pr,
'm<sup class="typo_exposants">2</sup>', _TYPO_sup, // m2, m3, m²
_TYPO_sup, _TYPO_sup, _TYPO_sup, // Vve, Mn(s), Md(s), Bd(s), Cie(s)
_TYPO_sup, 'É<sup class="typo_exposants">ts</sup>', // Sté(s), Ets
_TYPO_sup, _TYPO_sup, _TYPO_sup, // 1er et Cie
_TYPO_sup, // 2nd(e)(s)
'$1<sup class="typo_exposants">e$2</sup>', // Erreurs me, eme, ème, ième + pluriels
_TYPO_sup2, // 2e(s), IIIe(s)...
'$1<sup class="typo_exposants">o</sup>', // ro, vo, 1o, 2o, etc.
_TYPO_sup, // Me
));
if(defined('_CS_EXPO_BOFBOF')) {
$typo[0] = array_merge($typo[0], array(
'/(?<=\bS)(te?s?)(?=[\s\.-])/', // St(e)(s) suivis d'un espace d'un point ou d'un tiret
'/(?<=\bB)(x|se|ses)(?=[\s\.-])/', // Bx, Bse(s) suivis d'un espace d'un point ou d'un tiret
'/(?<=\b[Bb])(ds?)\b/', '/(?<=\b[Ff])(gs?)\b/', // boulevard(s) et faubourgs(s)
));
$typo[1] = array_merge($typo[1], array(
_TYPO_sup, _TYPO_sup, // St(e)(s), Bx, Bse(s)
_TYPO_sup, _TYPO_sup, // Bd(s) et Fg(s)
));
}
}
return preg_replace($typo[0], $typo[1], $texte);
}
开发者ID:rhertzog, 项目名称:lcs, 代码行数:59, 代码来源:typo_exposants.php
示例6: glossaire_accents_callback
function glossaire_accents_callback($matches) {
$u = unicode2charset($matches[0]); // charset
$u2 = init_mb_string()?mb_strtoupper($u):strtoupper($u); // charset majuscule
$u3 = htmlentities($u2, ENT_QUOTES, $GLOBALS['meta']['charset']); // html majuscule
$u4 = html2unicode($u3); // unicode majuscule
$a = array_unique(array($u, $u2, htmlentities($u, ENT_QUOTES, $GLOBALS['meta']['charset']), $u3, $matches[0], $u4));
// $a = array_unique(array($u, htmlentities($u, ENT_QUOTES, $GLOBALS['meta']['charset']), $matches[0]));
return '(?:'.join('|', $a).')';
}
开发者ID:rhertzog, 项目名称:lcs, 代码行数:9, 代码来源:glossaire_fonctions.php
示例7: mediabox_insert_head_css
function mediabox_insert_head_css($flux)
{
$config = mediabox_config();
if ($config['active'] == 'oui' and $f = find_in_path((test_espace_prive() ? "prive/" : "") . "colorbox/" . $config['skin'] . '/colorbox.css')) {
$flux .= '<link rel="stylesheet" href="' . direction_css($f) . '" type="text/css" media="all" />';
/**
* Initialiser la config de la mediabox
*/
$flux = '<script type="text/javascript">/* <![CDATA[ */
var box_settings = {tt_img:' . ($config['traiter_toutes_images'] == 'oui' ? 'true' : 'false') . ',sel_g:"' . $config['selecteur_galerie'] . '",sel_c:"' . $config['selecteur_commun'] . '",trans:"' . $config['transition'] . '",speed:"' . $config['speed'] . '",ssSpeed:"' . $config['slideshow_speed'] . '",maxW:"' . $config['maxWidth'] . '",maxH:"' . $config['maxHeight'] . '",minW:"' . $config['minWidth'] . '",minH:"' . $config['minHeight'] . '",opa:"' . $config['opacite'] . '",str_ssStart:"' . unicode2charset(html2unicode(_T('mediabox:boxstr_slideshowStart'))) . '",str_ssStop:"' . unicode2charset(html2unicode(_T('mediabox:boxstr_slideshowStop'))) . '",str_cur:"' . _T('mediabox:boxstr_current', array('current' => '{current}', 'total' => '{total}')) . '",str_prev:"' . _T('mediabox:boxstr_previous') . '",str_next:"' . _T('mediabox:boxstr_next') . '",str_close:"' . _T('mediabox:boxstr_close') . '",splash_url:"' . $config['splash_url'] . '"};
/* ]]> */</script>' . "\n" . $flux;
}
return $flux;
}
开发者ID:genma, 项目名称:spip_ynh, 代码行数:14, 代码来源:mediabox_pipelines.php
示例8: plugins_afficher_liste_dist
/**
* Afficher une liste de plugins dans l'interface
* http://doc.spip.org/@affiche_liste_plugins
*
* @param string $url_page
* @param array $liste_plugins
* @param array $liste_plugins_checked
* @param array $liste_plugins_actifs
* @param string $dir_plugins
* @param string $afficher_un
* @return string
*/
function plugins_afficher_liste_dist($url_page, $liste_plugins, $liste_plugins_checked, $liste_plugins_actifs, $dir_plugins = _DIR_PLUGINS, $afficher_un = 'afficher_plugin')
{
$get_infos = charger_fonction('get_infos', 'plugins');
$ligne_plug = charger_fonction($afficher_un, 'plugins');
$all_infos = $get_infos($liste_plugins, false, $dir_plugins);
$all_infos = pipeline('filtrer_liste_plugins', array('args' => array('liste_plugins' => $liste_plugins, 'liste_plugins_checked' => $liste_plugins_checked, 'liste_plugins_actifs' => $liste_plugins_actifs, 'dir_plugins' => $dir_plugins), 'data' => $all_infos));
$liste_plugins = array_flip($liste_plugins);
foreach ($liste_plugins as $chemin => $v) {
// des plugins ont pu etre enleves de la liste par le pipeline. On en tient compte.
if (isset($all_infos[$chemin])) {
$liste_plugins[$chemin] = strtoupper(trim(typo(translitteration(unicode2charset(html2unicode($all_infos[$chemin]['nom']))))));
} else {
unset($liste_plugins[$chemin]);
}
}
asort($liste_plugins);
$exposed = urldecode(_request('plugin'));
$block_par_lettre = false;
//count($liste_plugins)>10;
$fast_liste_plugins_actifs = array();
$fast_liste_plugins_checked = array();
if (is_array($liste_plugins_actifs)) {
$fast_liste_plugins_actifs = array_flip($liste_plugins_actifs);
}
if (is_array($liste_plugins_checked)) {
$fast_liste_plugins_checked = array_flip($liste_plugins_checked);
}
$res = '';
$block = '';
$initiale = '';
$block_actif = false;
foreach ($liste_plugins as $plug => $nom) {
if (($i = substr($nom, 0, 1)) !== $initiale) {
$res .= $block_par_lettre ? affiche_block_initiale($initiale, $block, $block_actif) : $block;
$initiale = $i;
$block = '';
$block_actif = false;
}
// le rep suivant
$actif = isset($fast_liste_plugins_actifs[$plug]);
$checked = isset($fast_liste_plugins_checked[$plug]);
$block_actif = $block_actif | $actif;
$expose = ($exposed and ($exposed == $plug or $exposed == $dir_plugins . $plug or $exposed == substr($dir_plugins, strlen(_DIR_RACINE)) . $plug));
$block .= $ligne_plug($url_page, $plug, $checked, $actif, $expose, "item", $dir_plugins) . "\n";
}
$res .= $block_par_lettre ? affiche_block_initiale($initiale, $block, $block_actif) : $block;
$class = basename($dir_plugins);
return $res ? "<ul class='liste-items plugins {$class}'>{$res}</ul>" : "";
}
开发者ID:genma, 项目名称:spip_ynh, 代码行数:61, 代码来源:afficher_liste.php
示例9: onelettrebis
function onelettrebis($chaine) {
$chaine=sansle($chaine);
$chaine=filtrer_entites($chaine); // si il y a des fois des accents en dur qui trainent
$chaine = unicode2charset(utf_8_to_unicode($chaine), 'iso-8859-1'); // on code en html ISO
$a = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
$b = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
$chaine=strtr($chaine, $a, $b); // on retire les accents
$chaine=strtoupper($chaine); // on passe en majuscules
/// si débute par le fameux Œ ou œ
$pattern = "^(Œ|œ)";
if (eregi($pattern,$chaine,$regs))
$chaine='O';//$chaine= $regs[0]; //on va renvoyer la lettre O
else
$chaine = $chaine{0};
return $chaine ;
}
开发者ID:rougerose, 项目名称:actions-traitements, 代码行数:16, 代码来源:mes_fonctions.php
示例10: mediabox_insert_head_css
function mediabox_insert_head_css($flux) {
$config = mediabox_config();
if ($config['active'] == 'oui' and $f = find_in_path((test_espace_prive() ? "prive/" : "") . "colorbox/" . $config['skin'] . '/colorbox.css')) {
$flux .= '<link rel="stylesheet" href="' . direction_css($f) . '" type="text/css" media="all" />';
/**
* Initialiser la config de la mediabox
*/
$configmediabox = '<script type="text/javascript">/* <![CDATA[ */
var box_settings = {tt_img:' . ($config['traiter_toutes_images'] == 'oui' ? 'true' : 'false')
. ',sel_g:"' . $config['selecteur_galerie']
. '",sel_c:"' . $config['selecteur_commun']
. '",trans:"' . $config['transition']
. '",speed:"' . $config['speed']
. '",ssSpeed:"' . $config['slideshow_speed']
. '",maxW:"' . $config['maxWidth']
. '",maxH:"' . $config['maxHeight']
. '",minW:"' . $config['minWidth']
. '",minH:"' . $config['minHeight']
. '",opa:"' . $config['opacite']
. '",str_ssStart:"' . unicode2charset(html2unicode(_T('mediabox:boxstr_slideshowStart')))
. '",str_ssStop:"' . unicode2charset(html2unicode(_T('mediabox:boxstr_slideshowStop')))
. '",str_cur:"' . _T('mediabox:boxstr_current', array('current' => '{current}', 'total' => '{total}'))
. '",str_prev:"' . _T('mediabox:boxstr_previous')
. '",str_next:"' . _T('mediabox:boxstr_next')
. '",str_close:"' . _T('mediabox:boxstr_close')
. '",splash_url:"' . $config['splash_url']
. '"};' . "\n";
// Si c'est une image, on la chargera avec une redimentionnement automatique
// Sinon, chargement dans une iframe
$extension = pathinfo($config['splash_url'], PATHINFO_EXTENSION);
if (match($extension, 'gif|png|jpg|jpeg')) {
$configmediabox .= 'var box_settings_iframe = false;' . "\n";
} else {
$configmediabox .= 'var box_settings_splash_width = "' . $config['splash_width'] . '";
var box_settings_splash_height = "' . $config['splash_height'] . '";' . "\n";
$configmediabox .= 'var box_settings_iframe = true;' . "\n";
}
$flux = $configmediabox . '/* ]]> */</script>' . "\n" . $flux;
}
return $flux;
}
开发者ID:samszo, 项目名称:open-edition, 代码行数:42, 代码来源:mediabox_pipelines.php
示例11: agenda_affdate_debut_fin
/**
* Afficher de facon textuelle les dates de debut et fin en fonction des cas
* - Le lundi 20 fevrier a 18h
* - Le 20 fevrier de 18h a 20h
* - Du 20 au 23 fevrier
* - du 20 fevrier au 30 mars
* - du 20 fevrier 2007 au 30 mars 2008
* $horaire='oui' permet d'afficher l'horaire, toute autre valeur n'indique que le jour
* $forme peut contenir abbr (afficher le nom des jours en abbrege) et ou hcal (generer une date au format hcal)
*
* @param string $date_debut
* @param string $date_fin
* @param string $horaire
* @param string $forme
* @return string
*/
function agenda_affdate_debut_fin($date_debut, $date_fin, $horaire = 'oui', $forme = '')
{
$abbr = '';
if (strpos($forme, 'abbr') !== false) {
$abbr = 'abbr';
}
$affdate = "affdate_jourcourt";
if (strpos($forme, 'annee') !== false) {
$affdate = 'affdate';
}
$dtstart = $dtend = $dtabbr = "";
if (strpos($forme, 'hcal') !== false) {
$dtstart = "<abbr class='dtstart' title='" . date_iso($date_debut) . "'>";
$dtend = "<abbr class='dtend' title='" . date_iso($date_fin) . "'>";
$dtabbr = "</abbr>";
}
$date_debut = strtotime($date_debut);
$date_fin = strtotime($date_fin);
$d = date("Y-m-d", $date_debut);
$f = date("Y-m-d", $date_fin);
$h = $horaire == 'oui';
$hd = date("H:i", $date_debut);
$hf = date("H:i", $date_fin);
$au = " " . strtolower(_T('agenda:evenement_date_au'));
$du = _T('agenda:evenement_date_du') . " ";
$s = "";
if ($d == $f) {
// meme jour
$s = ucfirst(nom_jour($d, $abbr)) . " " . $affdate($d);
if ($h) {
$s .= " {$hd}";
}
$s = "{$dtstart}{$s}{$dtabbr}";
if ($h and $hd != $hf) {
$s .= "-{$dtend}{$hf}{$dtabbr}";
}
} else {
if (date("Y-m", $date_debut) == date("Y-m", $date_fin)) {
// meme annee et mois, jours differents
if ($h) {
$s = $du . $dtstart . affdate_jourcourt($d) . " {$hd}" . $dtabbr;
$s .= $au . $dtend . $affdate($f);
if ($hd != $hf) {
$s .= " {$hf}";
}
$s .= $dtabbr;
} else {
$s = $du . $dtstart . jour($d) . $dtabbr;
$s .= $au . $dtend . $affdate($f) . $dtabbr;
}
} else {
if (date("Y", $date_debut) == date("Y", $date_fin)) {
// meme annee, mois et jours differents
$s = $du . $dtstart . affdate_jourcourt($d);
if ($h) {
$s .= " {$hd}";
}
$s .= $dtabbr . $au . $dtend . $affdate($f);
if ($h) {
$s .= " {$hf}";
}
$s .= $dtabbr;
} else {
// tout different
$s = $du . $dtstart . affdate($d);
if ($h) {
$s .= " " . date("(H:i)", $date_debut);
}
$s .= $dtabbr . $au . $dtend . affdate($f);
if ($h) {
$s .= " " . date("(H:i)", $date_fin);
}
$s .= $dtabbr;
}
}
}
return unicode2charset(charset2unicode($s, 'AUTO'));
}
开发者ID:jazzman346, 项目名称:CAC_Site, 代码行数:94, 代码来源:agenda_filtres.php
示例12: traiter_raccourci_glossaire
function traiter_raccourci_glossaire($texte)
{
if (!preg_match_all(_RACCOURCI_GLOSSAIRE,
$texte, $matches, PREG_SET_ORDER))
return $texte;
include_spip('inc/charsets');
$lien = charger_fonction('lien', 'inc');
foreach ($matches as $regs) {
// Eviter les cas particulier genre "[?!?]"
// et isoler le lexeme a gloser de ses accessoires
// (#:url du glossaire, | bulle d'aide, {} hreflang)
// Transformation en pseudo-raccourci pour passer dans inc_lien
if (preg_match(_RACCOURCI_GLOSES, $regs[1], $r)) {
preg_match('/^(.*?)(\d*)$/', $r[4], $m);
$_n = intval($m[2]);
$gloss = $m[1] ? ('#' . $m[1]) : '';
$t = $r[1] . $r[2] . $r[5];
list($t, $bulle, $hlang) = traiter_raccourci_lien_atts($t);
if ($bulle===false) $bulle = $m[1];
$t = unicode2charset(charset2unicode($t), 'utf-8');
$ref = $lien("glose$_n$gloss", $t, 'spip_glossaire', $bulle, $hlang);
$texte = str_replace($regs[0], $ref, $texte);
}
}
return $texte;
}
开发者ID:rhertzog, 项目名称:lcs, 代码行数:28, 代码来源:lien.php
示例13: creer_json
/**
* Cree la sortie json pour le javascript des parametres de la barre
* et la retourne
*
* @return string : declaration json de la barre
*/
function creer_json(){
$barre = $this;
$type = $barre->nameSpace;
$fonctions = $barre->functions;
$barre->enlever_elements_non_affiches($this->markupSet);
$barre->enlever_parametres_inutiles();
$json = Barre_outils::json_export($barre);
// on lance la transformation des &chose; en veritables caracteres
// sinon markitup restitue « au lieu de « directement
// lorsqu'on clique sur l'icone
include_spip('inc/charsets');
$json = unicode2charset(html2unicode($json));
return "\n\nbarre_outils_$type = ".$json . "\n\n $fonctions";
}
开发者ID:rhertzog, 项目名称:lcs, 代码行数:23, 代码来源:barre_outils.php
示例14: couper
function couper($texte, $taille = 50, $suite = ' (...)')
{
if (!($length = strlen($texte)) or $taille <= 0) {
return '';
}
$offset = 400 + 2 * $taille;
while ($offset < $length and strlen(preg_replace(",<[^>]+>,Uims", "", substr($texte, 0, $offset))) < $taille) {
$offset = 2 * $offset;
}
if ($offset < $length && ($p_tag_ouvrant = strpos($texte, '<', $offset)) !== NULL) {
$p_tag_fermant = strpos($texte, '>', $offset);
if ($p_tag_fermant && $p_tag_fermant < $p_tag_ouvrant) {
$offset = $p_tag_fermant + 1;
}
// prolonger la coupe jusqu'au tag fermant suivant eventuel
}
$texte = substr($texte, 0, $offset);
/* eviter de travailler sur 10ko pour extraire 150 caracteres */
// on utilise les \r pour passer entre les gouttes
$texte = str_replace("\r\n", "\n", $texte);
$texte = str_replace("\r", "\n", $texte);
// sauts de ligne et paragraphes
$texte = preg_replace("/\n\n+/", "\r", $texte);
$texte = preg_replace("/<(p|br)( [^>]*)?" . ">/", "\r", $texte);
// supprimer les traits, lignes etc
$texte = preg_replace("/(^|\r|\n)(-[-#\\*]*|_ )/", "\r", $texte);
// supprimer les tags
$texte = supprimer_tags($texte);
$texte = trim(str_replace("\n", " ", $texte));
$texte .= "\n";
// marquer la fin
// travailler en accents charset
$texte = unicode2charset(html2unicode($texte, true));
if (!function_exists('nettoyer_raccourcis_typo')) {
include_spip('inc/lien');
}
$texte = nettoyer_raccourcis_typo($texte);
// corriger la longueur de coupe
// en fonction de la presence de caracteres utf
if ($GLOBALS['meta']['charset'] == 'utf-8') {
$long = charset2unicode($texte);
$long = spip_substr($long, 0, max($taille, 1));
$nbcharutf = preg_match_all('/(&#[0-9]{3,5};)/S', $long, $matches);
$taille += $nbcharutf;
}
// couper au mot precedent
$long = spip_substr($texte, 0, max($taille - 4, 1));
$u = $GLOBALS['meta']['pcre_u'];
$court = preg_replace("/([^\\s][\\s]+)[^\\s]*\n?\$/" . $u, "\\1", $long);
$points = $suite;
// trop court ? ne pas faire de (...)
if (spip_strlen($court) < max(0.75 * $taille, 2)) {
$points = '';
$long = spip_substr($texte, 0, $taille);
$texte = preg_replace("/([^\\s][\\s]+)[^\\s]*\n?\$/" . $u, "\\1", $long);
// encore trop court ? couper au caractere
if (spip_strlen($texte) < 0.75 * $taille) {
$texte = $long;
}
} else {
$texte = $court;
}
if (strpos($texte, "\n")) {
// la fin est encore la : c'est qu'on n'a pas de texte de suite
$points = '';
}
// remettre les paragraphes
$texte = preg_replace("/\r+/", "\n\n", $texte);
// supprimer l'eventuelle entite finale mal coupee
$texte = preg_replace('/&#?[a-z0-9]*$/S', '', $texte);
return quote_amp(trim($texte)) . $points;
}
开发者ID:loorenzooo, 项目名称:aslfc, 代码行数:72, 代码来源:texte_mini.php
示例15: typo_fr
function typo_fr($letexte)
{
global $flag_strtr2;
static $trans;
// Nettoyer 160 = nbsp ; 187 = raquo ; 171 = laquo ; 176 = deg ; 147 = ldquo; 148 = rdquo
if (!$trans) {
$trans = array(" " => "~", "»" => "»", "«" => "«", "”" => "”", "“" => "“", "°" => "°");
$chars = array(160 => '~', 187 => '»', 171 => '«', 148 => '”', 147 => '“', 176 => '°');
$charset = read_meta('charset');
include_lcm('inc_charsets');
while (list($c, $r) = each($chars)) {
$c = unicode2charset(charset2unicode(chr($c), 'iso-8859-1', 'forcer'));
$trans[$c] = $r;
}
}
if ($flag_strtr2) {
$letexte = strtr($letexte, $trans);
} else {
reset($trans);
while (list($c, $r) = each($trans)) {
$letexte = str_replace($c, $r, $letexte);
}
}
$cherche1 = array('/((^|[^\\#0-9a-zA-Z\\&])[\\#0-9a-zA-Z]*)\\;/', '/»| --?,|:([^0-9]|$)/', '/([^<!?])([!?])/', '/«|(M(M?\\.|mes?|r\\.?)|[MnN]°) /');
$remplace1 = array('\\1~;', '~\\0', '\\1~\\2', '\\0~');
$letexte = ereg_remplace($cherche1, $remplace1, $letexte);
$letexte = preg_replace("/ *~+ */", "~", $letexte);
$cherche2 = array('/([^-\\n]|^)--([^-]|$)/', '/(http|https|ftp|mailto)~:/', '/~/');
$remplace2 = array('\\1—\\2', '\\1:', ' ');
$letexte = ereg_remplace($cherche2, $remplace2, $letexte);
return $letexte;
}
开发者ID:nyimbi, 项目名称:legalcase, 代码行数:32, 代码来源:inc_text.php
示例16: spiplistes_envoyer_mail
function spiplistes_envoyer_mail ($to, $subject, $message, $from = false, $headers = '', $format = 'texte') {
static $opt_simuler_envoi;
// si desabo, plus de format ! donc forcer a texte
$format = ($format == 'html') ? $format : 'texte';
$charset = $GLOBALS['meta']['spiplistes_charset_envoi'];
if(!$opt_simuler_envoi) {
$opt_simuler_envoi = spiplistes_pref_lire('opt_simuler_envoi');
}
if (!$from)
{
$from = spiplistes_email_from_default();
}
if(strpos($from, '<') === false) {
$fromname = spiplistes_nom_site_texte();
if ($charset != $GLOBALS['meta']['charset']){
include_spip('inc/charsets');
$fromname = unicode2charset(charset2unicode($fromname),$charset);
}
}
// @TODO: voir email_reply_to ?
$reply_to = 'no-reply'.preg_replace("|.*(@[a-z.]+)|i", "$1", email_valide($from));
if($opt_simuler_envoi == 'oui') {
spiplistes_log("!!! MAIL SIMULATION MODE !!!");
$result = true;
}
else {
include_once(_DIR_PLUGIN_SPIPLISTES.'inc/spiplistes_mail.inc.php');
$email_a_envoyer = array();
$return_path = spiplistes_return_path($from);
if(is_array($message))
{
if($format=='html' && isset($message[$format])) {
$email_a_envoyer['html'] = new phpMail($to, $subject, $message['html'], $message['texte'], $charset);
$email_a_envoyer['html']->From = $from ;
if($fromname) $email_a_envoyer['html']->FromName = $fromname ;
$email_a_envoyer['html']->AddCustomHeader("Errors-To: ".$return_path);
$email_a_envoyer['html']->AddCustomHeader("Reply-To: ".$from);
$email_a_envoyer['html']->AddCustomHeader("Return-Path: ".$return_path);
$email_a_envoyer['html']->SMTPKeepAlive = true;
$email_a_envoyer['html']->Body = $message['html']->Body;
$email_a_envoyer['html']->AltBody = $message['html']->AltBody;
}
$message = $message['texte']->Body;
}
//$message = spiplistes_html_entity_decode ($message, $charset);
$message = spiplistes_translate_2_charset ($message, $charset, true);
//$email_a_envoyer['texte'] = new phpMail($to, $subject, '', html_entity_decode($message), $charset);
$email_a_envoyer['texte'] = new phpMail($to, $subject, '', $message, $charset);
$email_a_envoyer['texte']->From = $from ;
if($fromname) $email_a_envoyer['html']->FromName = $fromname ;
$email_a_envoyer['texte']->AddCustomHeader('Errors-To: '.$return_path);
$email_a_envoyer['texte']->AddCustomHeader('Reply-To: '.$reply_to);
$email_a_envoyer['texte']->AddCustomHeader('Return-Path: '.$return_path);
$email_a_envoyer['texte']->SMTPKeepAlive = true;
$result = $email_a_envoyer[$format]->send();
$msg = "email from $from to $to";
spiplistes_log(!$result ? "error: $msg not sent" : "$msg sent");
}
return($result);
}
开发者ID:rhertzog, 项目名称:lcs, 代码行数:71, 代码来源:spiplistes_api.php
示例17: install_etape_3b_dist
function install_etape_3b_dist()
{
$login = _request('login');
$email = _request('email');
$nom = _request('nom');
$pass = _request('pass');
$pass_verif = _request('pass_verif');
$server_db = defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : _request('server_db');
if (!defined('_PASS_LONGUEUR_MINI')) {
define('_PASS_LONGUEUR_MINI', 6);
}
if (!defined('_LOGIN_TROP_COURT')) {
define('_LOGIN_TROP_COURT', 4);
}
if ($login) {
$echec = $pass != $pass_verif ? _T('info_passes_identiques') : (strlen($pass) < _PASS_LONGUEUR_MINI ? _T('info_passe_trop_court_car_pluriel', array('nb' => _PASS_LONGUEUR_MINI)) : (strlen($login) < _LOGIN_TROP_COURT ? _T('info_login_trop_court') : ''));
include_spip('inc/filtres');
if (!$echec and $email and !email_valide($email)) {
$echec = _T('form_email_non_valide');
}
if ($echec) {
echo minipres('AUTO', info_progression_etape(3, 'etape_', 'install/', true) . "<div class='error'><h3>{$echec}</h3>\n" . "<p>" . _T('avis_connexion_echec_2') . "</p>" . "</div>");
exit;
}
}
if (@file_exists(_FILE_CHMOD_TMP)) {
include _FILE_CHMOD_TMP;
} else {
redirige_url_ecrire('install');
}
if (!@file_exists(_FILE_CONNECT_TMP)) {
redirige_url_ecrire('install');
}
# maintenant on connait le vrai charset du site s'il est deja configure
# sinon par defaut lire_meta reglera _DEFAULT_CHARSET
# (les donnees arrivent de toute facon postees en _DEFAULT_CHARSET)
lire_metas();
if ($login) {
include_spip('inc/charsets');
$nom = importer_charset($nom, _DEFAULT_CHARSET);
$login = importer_charset($login, _DEFAULT_CHARSET);
$email = importer_charset($email, _DEFAULT_CHARSET);
# pour le passwd, bizarrement il faut le convertir comme s'il avait
# ete tape en iso-8859-1 ; car c'est en fait ce que voit md5.js
$pass = unicode2charset(utf_8_to_unicode($pass), 'iso-8859-1');
include_spip('auth/sha256.inc');
include_spip('inc/acces');
$htpass = generer_htpass($pass);
$alea_actuel = creer_uniqid();
$alea_futur = creer_uniqid();
$shapass = _nano_sha256($alea_actuel . $pass);
// prelablement, creer le champ webmestre si il n'existe pas (install neuve
// sur une vieille base
$t = sql_showtable("spip_auteurs", true);
if (!isset($t['field']['webmestre'])) {
@sql_alter("TABLE spip_auteurs ADD webmestre varchar(3) DEFAULT 'non' NOT NULL");
}
$id_auteur = sql_getfetsel("id_auteur", "spip_auteurs", "login=" . sql_quote($login));
if ($id_auteur !== null) {
sql_updateq('spip_auteurs', array("nom" => $nom, 'email' => $email, 'login' => $login, 'pass' => $shapass, 'alea_actuel' => $alea_actuel, 'alea_futur' => $alea_futur, 'htpass' => $htpass, 'statut' => '0minirezo'), "id_auteur={$id_auteur}");
} else {
$id_auteur = sql_insertq('spip_auteurs', array('nom' => $nom, 'email' => $email, 'login' => $login, 'pass' => $shapass, 'htpass' => $htpass, 'alea_actuel' => $alea_actuel, 'alea_futur' => $alea_futur, 'statut' => '0minirezo'));
}
// le passer webmestre separrement du reste, au cas ou l'alter n'aurait pas fonctionne
@sql_updateq('spip_auteurs', array('webmestre' => 'oui'), "id_auteur={$id_auteur}");
// inserer email comme email webmaster principal
// (sauf s'il est vide: cas de la re-installation)
if ($email) {
ecrire_meta('email_webmaster', $email);
}
// Connecter directement celui qui vient de (re)donner son login
// mais sans cookie d'admin ni connexion longue
include_spip('inc/auth');
if (!($auteur = auth_identifier_login($login, $pass)) or !auth_loger($auteur, true)) {
spip_log("login automatique impossible {$auth_spip} {$session}" . count($row));
}
}
// installer les metas
$config = charger_fonction('config', 'inc');
$config();
// activer les plugins
// leur installation ne peut pas se faire sur le meme hit, il faudra donc
// poursuivre au hit suivant
include_spip('inc/plugin');
actualise_plugins_actifs();
include_spip('inc/distant');
redirige_par_entete(parametre_url(self(), 'etape', '4', '&'));
}
开发者ID:xablen, 项目名称:Semaine14_SPIP_test, 代码行数:88, 代码来源:etape_3b.php
示例18: spiplistes_preparer_message
function spiplistes_preparer_message ($objet, $patron, $contexte) {
// si pas encore abonne' ou desabonne', pas de format ! donc forcer a texte
$format = ($contexte['format'] == 'html') ? $contexte['format'] : ($contexte['format'] = 'texte');
$contexte['patron'] = $patron;
$path_patron = _SPIPLISTES_PATRONS_MESSAGES_DIR . $patron;
list($message_html, $message_texte) = spiplistes_assembler_patron($path_patron, $contexte);
$charset = $GLOBALS['meta']['spiplistes_charset_envoi'];
if($charset != $GLOBALS['meta']['charset'])
{
include_spip('inc/charsets');
if($format == 'html') {
$message_html = unicode2charset(charset2unicode($message_html), $charset);
}
//$message_texte = unicode2charset(charset2unicode($message_texte), $charset);
$message_texte = spiplistes_translate_2_charset ($message_texte, $charset);
}
$email_a_envoyer = array();
$email_a_envoyer['texte'] = new phpMail('', $objet, '', $message_texte, $charset);
if($format == 'html') {
$email_a_envoyer['html'] = new phpMail('', $objet, $message_html, $message_texte, $charset);
$email_a_envoyer['html']->Body = "<html>\n\n<body>\n\n" . $message_html . "\n\n</body></html>";
$email_a_envoyer['html']->AltBody = $message_texte;
}
$email_a_envoyer['texte']->Body = $message_texte ."\n\n";
$email_a_envoyer[$format]->SetAddress($contexte['email'], $contexte['nom']);
return($email_a_envoyer);
}
开发者ID:rhertzog, 项目名称:lcs, 代码行数:33, 代码来源:formulaire_abonnement.php
示例19: sax_bug
function sax_bug($data)
{
$r = analyser_doctype($data);
if (!$r) {
$data = _MESSAGE_DOCTYPE . _DOCTYPE_ECRIRE
. preg_replace(_REGEXP_DOCTYPE, '', $data);
$r = analyser_doctype($data);
}
list($doctype, $topelement, $avail, $grammaire, $rotlvl, $len) = $r;
include_spip('xml/analyser_dtd');
$dtc = charger_dtd($grammaire, $avail, $rotlvl);
// l'entete contient eventuellement < ? xml... ? >, le Doctype,
// et des commentaires autour d'eux
$entete = ltrim(substr($data,0,$len));
if ($dtc) {
$trans = array();
foreach($dtc->entites as $k => $v) {
if (!strpos(" amp lt gt quot ", $k))
$trans["&$k;"] = $v;
}
$data = strtr(substr($data,$len), $trans);
} else {
$data = html2unicode(substr($data,$len), true);
}
return array($entete,unicode2charset($data), $dtc);
}
开发者ID:rhertzog, 项目名称:lcs, 代码行数:32, 代码来源:sax.php
示例20: agenda_affdate_debut_fin
juven/maven-bash-completion: Maven Bash Auto Completion
阅读:820| 2022-08-16
shakee93/fonoapi: FonoApi - Mobile Device Description API
阅读:450| 2022-08-30
Cross Site Scripting (XSS) vulnerability in FusionPBX 4.5.26 allows remote unaut
阅读:985| 2022-07-08
route101/mastoinker: Quick image view assistant for Mastodon client
阅读:922| 2022-08-18
白酒的英文其实是:baijiu(你没看错,真的是baijiu,给老外介绍可以直接说baiju)。
阅读:390| 2022-11-06
0e0w · GitHub
阅读:428| 2022-08-15
MG2033/MobileNet: A Clearer and Simpler MobileNet Implementation in TensorFlow
阅读:694| 2022-08-30
音乐永远是让人产生共鸣的东西,心情好的时候我们会想哼个小曲儿,心情低落的时候会想
阅读:820| 2022-07-30
juankysoriano/MaterialLife: A Material Design styled Game of Life for Android
阅读:341| 2022-08-17
请发表评论