Ответы пользователя по тегу PHP
  • Мультиязычный транслит на PHP?

    @dmiceman
    Боюсь, ничего готового гугль не находит. И это действительно очень сложная и комплексная задача, совсем непохожая на работу mb_strtoupper(). С изменением регистра символов все просто — есть символы юникода, есть таблицы соответствия. А вот таблиц «близости по звучанию» — нет. И что-то мне подсказывает, что создать их вне зависимости от контекста языка невозможно.

    Даже в фонетических языках есть большой произвол в звучании одних и тех же букв в зависимости от контекста. А та же кириллица используется во многих языках, звуча при этом немного по разному.

    Что уж говорить про иероглифы, которые кодируясь одними и теми же последовательностями байт, звучат различно для разных народов их использующих. Тем более, что звуки языков с переменной тональностью довольно сложно передать посредством ASCII.

    Но вот, в частности нашел таблицы для русского: textpattern.ru/html/transliteration-tables.htm
    Ответ написан
  • Virtualmin настройка дефолтного ящика для mail() в php?

    @dmiceman
    Боюсь, связи между «ящиком» для mail() и Virtualmin-ом нет вообще никакой. Когда вызывается mail(), php достаточно тупо вызывает /usr/sbin/sendmail и передает ему заголовки и сообщение. Максимум что знает sendmail — это UID процесса его вызвавшего (поэтому адрес получается @).

    Другое дело, что посредством заголовков можно указать обратный адрес и поле From: исходящего письма и это делается очень просто приблизительно таким вызовом mail():

    mail('Кому <aaa@example.com>', 'Тема', 'Сообщение', "From: От кого <bbb@example.com>\nReply-To: Кому ответить <ccc@example.com>");


    Или можно еще указать дополнительные параметры для sendmail посредством пятого параметра mail():

    mail('nobody@example.com', 'the subject', 'the message', null, '-fwebmaster@example.com');


    но это не такое гибкое решение на мой вкус.

    В гугле встречаются советы поменять параметр sendmail_from в php.ini, но они ошибочны — этот параметр работает только в винде.
    Ответ написан