А зачем делать транслитерацию? Есть у вас массив с титлами вида $titles = array('samara' => 'тут title самары', 'voronej' => 'тут title для воронежа'); Ну и берете переменную $_SERVER['HTTP_HOST'] и прогоняете её по массиву и ищете вхождение в название домена если есть то норм. Вы же список поддоменов знаете.
Ну и в чем проблема? Первая таблица связывает пользователя со всеми его сообщениями.
Например так:
id 1, userid 1, messageid 1;
id 2, userid 1, messageid 2;
....
id 1, userid 1, messageid 34;
Это делается для того чтобы создать видимость что левый блок тянется, на самом деле его высота выставляется по контенту. В результате мы получаем, что если в левой колонке контента больше чем в правом, то визуально фоны левой и правой колонки будут всегда одинаковы и наоборот. Вариант где обе колонки тянутся физически до конца страницы невозможен без использования либо js, либо flexbox, либо без смены верстки.
Это просто имба. Как только отступ вы что код вообще не смотрите.
.left_block{
width: 250px;
height: 100%;
float: left;
word-break: break-all;
}
Что ширину не видно? Блок есть настоящее некуда, тянуться будет по высоте контента, что вам еще надо?
Если вы будете писать текст сплошной строкой, то у вас любой блок так себя вести будет, так как по дефолту запрещено разбитие одного слова и перенос на другую строку. можете добавить к левому блоку свойство word-break: break-all и убедится.
Да работать будет, только вынесите нахождение нужного блока за пределы плагина, а то его поиск будет производиться каждый раз, как вы кликнете на селект. Обновил коде.