/** * @param $content * @param bool $entities * @param bool $p * @param bool $br * * @return mixed|string */ function cl_tpf($content, $entities = true, $p = true, $br = false) { require 'vendor/remotetypograf.php'; $typograf = new RemoteTypograf(get_bloginfo('charset')); if ($entities) { $typograf->htmlEntities(); } else { $typograf->noEntities(); } $typograf->br($br); $typograf->p($p); $result = $typograf->processText(stripcslashes($content)); return $result; }
<?php $text = stripslashes($_REQUEST['text']); if ($_POST['text']) { include "remotetypograf.php"; $remoteTypograf = new RemoteTypograf(); $remoteTypograf->htmlEntities(); $remoteTypograf->br(false); $remoteTypograf->p(true); $remoteTypograf->nobr(3); $remoteTypograf->quotA('laquo raquo'); $remoteTypograf->quotB('bdquo ldquo'); print $remoteTypograf->processText($text); }
/** * Save hook, typography text * * @param $post_ID int */ function save_post_process($post_ID) { global $post; if (!$post) { return; } $tp = (bool) get_option('cl_tpf_' . $post->post_type); if (!$tp) { return; } if (wp_is_post_revision($post_ID)) { return; } if (!isset($_POST['cl_tpf_use'])) { update_post_meta($post_ID, 'cl_tpf_disable', 'on'); return; } else { delete_post_meta($post_ID, 'cl_tpf_disable'); } $post_title = $_POST['post_title']; $post_excerpt = $_POST['post_excerpt']; $post_content = $_POST['post_content']; $big_length = 32768; $typograf = new RemoteTypograf(get_bloginfo('charset')); $typograf->noEntities(); $typograf->br(false); $typograf->p(false); $title = !empty($post_title) && mb_strlen($post_title) < $big_length ? $typograf->processText(strip_tags($post_title)) : ''; $excerpt = !empty($post_excerpt) && mb_strlen($post_excerpt) < $big_length ? $typograf->processText(strip_tags($post_excerpt)) : ''; $typograf->htmlEntities(); $typograf->br(false); $typograf->p(true); $content = !empty($post_content) && mb_strlen($post_content) < $big_length ? $typograf->processText($post_content) : ''; remove_action('save_post', array($this, 'save_post_process')); wp_update_post(array('ID' => $post_ID, 'post_title' => $title, 'post_excerpt' => $excerpt, 'post_content' => $content)); add_action('save_post', array($this, 'save_post_process')); }
fclose($fp); } else { return "Server not responding"; } return $buf; } $result = post("typograf.ru", "/webservice/", "chr=utf-8&text=" . urlencode($text) . '&xml=' . urlencode($params)); } elseif ($xml->type == "jare") { set_include_path(get_include_path() . PATH_SEPARATOR . MCETYPOGRAF_ENGINES); require "Jare/Typograph.php"; $jareTypo = new Jare_Typograph($text); $jareTypo->getTof("etc")->disableBaseParam("paragraphs")->disableParsing(true); $result = $jareTypo->parse($jareTypo->getBaseTofsNames()); } else { // 1 — mixedEntities — буквенными и числовыми кодами (для универсального кода. Совместимо со всеми основыми новыми и старыми браузерами) // 2 — xmlEntities — только буквенными кодами (хорошо для XML, плохо для старых браузеров) // 3 — htmlEntities — только числовыми кодами (кому-то нужно. Плохо для старых браузеров) // 4 — noEntities — готовыми символами (символы выдаются в том виде, в каком их видит в результате читатель) set_include_path(get_include_path() . PATH_SEPARATOR . MCETYPOGRAF_ENGINES); require "remotetypograf.php"; $remoteTypograf = new RemoteTypograf("UTF-8"); $remoteTypograf->htmlEntities(); $remoteTypograf->br(false); $remoteTypograf->p(false); $remoteTypograf->nobr(3); $result = $remoteTypograf->processText($text); } // ----------------------------------------------------------------------------------------------------------------------------------------------------------------// // Reverting non-typographic areas // // ----------------------------------------------------------------------------------------------------------------------------------------------------------------// print str_replace($patterns, $replaces, $result);