array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.ps-hyphenate.php', 1 => 'ps_hyphenate', ), 'up' => array ( 0 => 'ref.ps.php', 1 => 'Функции PS', ), 'prev' => array ( 0 => 'function.ps-get-value.php', 1 => 'ps_get_value', ), 'next' => array ( 0 => 'function.ps-include-file.php', 1 => 'ps_include_file', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/ps/functions/ps-hyphenate.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL ps >= 1.1.1)
ps_hyphenate — Переносит слово
Переносит указанное слово. Функция ps_hyphenate() оценивает дефисы значения (устанавливается ps_set_value()) и дефисы параметра (устанавливается ps_set_parameter()). Перед вызовом этой функции необходимо установить дефис.
Для работы функции требуется, чтобы категория языкового стандарта LC_CTYPE была установлена корректно. Это делается, при инициализации модуля с использованием переменных окружения. В системах Unix для получения дополнительной информации прочтите справочную страницу языковых стандартов.
psdoc
Идентификатор ресурса файла postscript, возвращённый функцией ps_new().
text
text
не должен содержать никаких символов, отличных от букв.
Возможные позиции для переносов возвращаются в виде массива целых чисел.
Каждое число - это позиция символа в text
,
после которой может быть выполнен перенос.
Массив целых чисел, указывающий положение возможных переносов в тексте или false
, если возникла ошибка.
Пример #1 Перенос текста
<?php
$word = "Koordinatensystem";
$psdoc = ps_new();
ps_set_parameter($psdoc, "hyphendict", "hyph_de.dic");
$hyphens = ps_hyphenate($psdoc, $word);
for($i=0; $i<strlen($word); $i++) {
echo $word[$i];
if(in_array($i, $hyphens))
echo "-";
}
ps_delete($psdoc);
?>
Результат выполнения приведённого примера:
Ko-ordi-na-ten-sys-tem