本文整理汇总了PHP中Texy::webalize方法的典型用法代码示例。如果您正苦于以下问题:PHP Texy::webalize方法的具体用法?PHP Texy::webalize怎么用?PHP Texy::webalize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Texy
的用法示例。
在下文中一共展示了Texy::webalize方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: solve
function solve($invocation, $level, $content, $mod, $isSurrounded)
{
$tx = $this->texy;
$el = TexyHtml::el('h' . min(6, max(1, $level + $this->top)));
$mod->decorate($tx, $el);
$el->parseLine($tx, trim($content));
$title = NULL;
if ($this->generateID && empty($el->attrs['id'])) {
$title = trim($el->toText($tx));
$id = $this->idPrefix . Texy::webalize($title);
$counter = '';
if (isset($this->usedID[$id . $counter])) {
$counter = 2;
while (isset($this->usedID[$id . '-' . $counter])) {
$counter++;
}
$id .= '-' . $counter;
}
$this->usedID[$id] = TRUE;
$el->attrs['id'] = $id;
}
if ($this->title === NULL) {
if ($title === NULL) {
$title = trim($el->toText($tx));
}
$this->title = $title;
}
$this->TOC[] = array('el' => $el, 'level' => $level, 'title' => $title, 'surrounded' => $isSurrounded);
return $el;
}
示例2: afterParse
public function afterParse($texy, $DOM, $isSingleLine)
{
if ($isSingleLine) {
return;
}
if ($this->balancing === self::DYNAMIC) {
$top = $this->top;
$map = array();
$min = 100;
foreach ($this->TOC as $item) {
$level = $item['level'];
if ($item['type'] === 'surrounded') {
$min = min($level, $min);
$top = $this->top - $min;
} elseif ($item['type'] === 'underlined') {
$map[$level] = $level;
}
}
asort($map);
$map = array_flip(array_values($map));
}
foreach ($this->TOC as $key => $item) {
if ($this->balancing === self::DYNAMIC) {
if ($item['type'] === 'surrounded') {
$level = $item['level'] + $top;
} elseif ($item['type'] === 'underlined') {
$level = $map[$item['level']] + $this->top;
} else {
$level = $item['level'];
}
$item['el']->setName('h' . min(6, max(1, $level)));
$this->TOC[$key]['level'] = $level;
}
if ($this->generateID && empty($item['el']->attrs['id'])) {
$title = trim($item['el']->toText($this->texy));
if ($title !== '') {
$this->TOC[$key]['title'] = $title;
$id = $this->idPrefix . Texy::webalize($title);
$counter = '';
if (isset($this->usedID[$id . $counter])) {
$counter = 2;
while (isset($this->usedID[$id . '-' . $counter])) {
$counter++;
}
$id .= '-' . $counter;
}
$this->usedID[$id] = TRUE;
$item['el']->attrs['id'] = $id;
}
}
}
if ($this->title === NULL && count($this->TOC)) {
$item = reset($this->TOC);
$this->title = isset($item['title']) ? $item['title'] : trim($item['el']->toText($this->texy));
}
}
示例3: texyla
function texyla($content, $texyCfg, $charset = 'utf-8', $oneLine = false)
{
if (empty($content)) {
# protože je obsah prázdný vrátíme ho prázdný zpátky bez zpracování
return $content;
}
if (!function_exists('iconv') && $charset != 'utf-8') {
# ověření existence fce iconv(), která se používá pro zmenu
# kodování vstupního textu při jiném než utf-8 kodování
trigger_error(texylaErrorMsg(TEXYLA_ICONV_MISSING), E_USER_ERROR);
}
# jaky pouzit configurační soubor pro zpracování vstupního textu
# defaultní hodnota je forum, takže není třeba uvádět.
$texyCfg = texylaTexyCfg($texyCfg);
# sestaveni cesty ke konfigu
$texyCfgFile = dirname(__FILE__) . '/cfg/' . $texyCfg . '.php';
if (!is_bool($oneLine)) {
# pokud není bool nastavíme na false (blokový text)
$oneLine = false;
}
if (!class_exists('Texy')) {
# Neexistuje třída Texy
trigger_error(texylaErrorMsg(TEXYLA_CLASS_NOT_TEXY_FOUND, $texyFile), E_USER_ERROR);
}
# iniciace texy
$texy = new Texy();
$texy->alignClasses['left'] = 'fl';
$texy->alignClasses['right'] = 'fr';
# nastavíme kódování v kterém je zpracováváný text
# default je utf-8, není třeba uvádět při volání funkce texyla() [pokud nenásleduje další parametr]
$texy->encoding = $charset;
# proměnná, podle které se řídí přidávání hlášky <!-- by Texy2! --> na konec zpracovávaného textu
# $GLOBALS['Texy::$advertisingNotice'] = false;
# verze pro php5
Texy::$advertisingNotice = false;
# Odstranění diakritiky z textu, vytvoření
if ($texyCfg == 'webalize') {
/*
*******************************************************************************************
!!! Toto je v Testovací fázi !!! Bugreporty prosím na http://texyla.jaknato.com/khostu.php
*******************************************************************************************
Jedná se o odstranění diakritiky...
Výsledek obsahuje pouze a-z, čísla a spojovník.
Není třeba načítat konfiguraci,
Pokud používáte jiné kódování než je utf-8, je text překodován na utf-8 a je z něj
odstraněna diakritika, výsledný text je čisté ASCII, takže se zpštně nepřevádí na
původní kódóvání.
Poznámky dgx k webalize:
========================
Je však možné povolit i další ASCII znaky:
$nadpis = "článek/PHP 5.2.1 a funkce is_array()";
echo Texy::webalize($nadpis); // standardní chování
→ clanek-php-5-2-1-a-funkce-is-array
$addChar = '/_.';// navíc povolíme znaky: / _ .
echo Texy::webalize($nadpis,$addChar);
→ clanek/php-5.2.1-a-funkce-is_array
Ještě dodám, že funkce funguje korektně i při chybné implementaci iconv (glibc).
*/
$content = strtolower($charset) == 'utf-8' ? $content : iconv($charset, 'utf-8', $content);
$addChar = '';
return Texy::webalize($content, $addChar);
}
# kontrola existence konfiguračního souboru
if (!file_exists($texyCfgFile)) {
# neexistuje (nebyl nalezen/includován) soubor s konfigurací pro texy
return texylaErrorMsg(TEXYLA_FILE_CFG_NOT_FOUND, $texyCfgFile);
}
# includujeme soubor s nastavením pro Texy!
if (!(include $texyCfgFile)) {
# Nepodařilo se načíst konfigurační soubor,
# nejspíš špatné práva pro přístup k souboru
return texylaErrorMsg(TEXYLA_ACCESS_DENIED, $texyFile);
}
# kontrola existence pomocné třídy FshlHandler (propojení Texy s fshlParser)
# a třídy fshlParser (ta se stará o samotné obarvení kodu)
if (function_exists('TexylaFSHLBlockHandler') && class_exists('fshlParser') && !empty($useFSHL) && $useFSHL === true) {
# iniciace pomocné třídy starající se o obarvení zdrojovách kódů
# Autor třídy je: Juraj 'hvge' Durech
$texy->addHandler('block', 'TexylaFSHLBlockHandler');
}
# Provedeme zpracování poslaného obsahu pomocí Texy!
if (!empty($addTargetBlank) && $addTargetBlank === true) {
return preg_replace_callback("~<a href~iU", "texylaAddTargetBlank", $texy->process($content, $oneLine));
}
return $texy->process($content, $oneLine);
}