• Что такое экранирование в PHP, JS? И для чего оно используется?

    Maksclub
    @Maksclub
    maksfedorov.ru
    echo 'Однажды Арнольд сказал: "I'll be back"';
    выведет ошибку, так как после буквыIидет закрывающая кавычка команды echo, а потом для PHP идет куча мусора не из синтаксиса PHP

    а вот код:
    echo 'Однажды Арнольд сказал: "I\'ll be back"';
    выведетт: Однажды Арнольд сказал: "I'll be back"

    кстати синтаксис правильно подсветил редактор, обрати внимание на красный цвет кода

    ...

    В регулярных выражениях много бывает экранирования, тк много спецсимволов участвует, а эти символы должны быть например в тексте ( в телефоне скобки и дефисы), хотя сами по себе скобки и дефисы могут быть конструкциями этих же выражений... чтобы не путать -- экранируют не служебные (в синтаксисе языка) символы

    Целая статья на закрепление https://habrahabr.ru/post/182424/
    Ответ написан
    2 комментария
  • Как сделать мультиязычность сайта?

    @Vitsliputsli
    А готовые решения не нашли?
    В любом случае, этот кусок будет лучше работать в таком виде:
    if (empty($_SESSION['lang'])) {
    	preg_match('/^\w{2}/',$_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
    	switch (strtolower($matches[0])){
    		case "ru": 
    			$_SESSION['lang']="ru";
    			break;
    		case "en": 
    		case "uk": 
    		case "us": 
    		default: 
    			$_SESSION['lang']="en";
    			break;
    	}
    }
    require_once './lang/' . $_SESSION['lang'] . '.php';
    Ответ написан
    1 комментарий
  • Неправильно работает AJAX-запрос из-за .htaccess?

    @dodo512
    Поправить адрес запроса, убрав .php.
    url: 'handler',

    Или в .htaccess добавить исключение для POST запросов.
    RewriteCond %{REQUEST_METHOD} !POST
    .htaccess
    RewriteEngine On
    
    RewriteCond %{REQUEST_METHOD} !POST
    RewriteCond %{THE_REQUEST} ([^\s]*)\.php(\?[^\s]*)?
    RewriteRule (.*) %1 [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^.*$ $0.php [L,QSA]
    Ответ написан
    Комментировать