Программист предпенсионного возраста
Контакты
Местоположение
Россия, Москва и Московская обл., Москва

Наибольший вклад в теги

Все теги (15)

Лучшие ответы пользователя

Все ответы (25)
  • Две POST проверки в одном файле?

    leha_gorbunov
    @leha_gorbunov
    Программист
    Если 2 формы, то добавь в каждую
    <input type="hidden" name="frmname" value=""/>

    И сделай проверку на имя формы
    if ($_POST['submit']&&$_POST['frmname']) {
      echo "hi";
    }
    Ответ написан
  • Как написать парсер шорткодов на ванильном PHP?

    leha_gorbunov
    @leha_gorbunov
    Программист
    метки в тексте статьи вида {id метки}{/id метки} . Параметры внутри этих тэгов неограниченное количество,
    разделены вертикальной чертой. Пример:
    {Market_place}searchText=Смартфон|searchPhrase=Купить Смартфон Xiaomi{/Market_place}


    параметры в тексте рекламного скрипта в двойных квадратных скобках например [[searchText]].
    Особый параметр [__counter] На случай если будет несколько одинаковых шорт кодов, то вместо [__counter] подставится его порядковый номер в тексте 0,1,2 ...

    .createWidget({
    	"containerId": "marketWidget[__counter]",
    	"type": "offers",
    	"params": {
    		"searchText": "[[searchText]]",
       "searchPhrase": "[[searchPhrase]]",
    		"themeId": 2
    	}
    });


    /* Функция берет текст публикации , 
     * собрает из нее метки рекламного скрипта с параметрами
     * Параметры подставляет в тело скрипта
     * Полученный текст скрипта подставляет на место метки в публикации
     *  $body - текст публикации
     *  $script_identificator - идентификатор скрипта
     *  $script - сам программный код рекламного скрипта 
     * */
    	protected function injectAdScript($body, $script_identificator, $script){
    		// составляем строку для сбора всех меток для нашего скрипта
    		$preg_str = '~{'.$script_identificator.'}([^{]*){/'.$script_identificator.'}~i';
    		// собираем все метки скрипта из текста публикации в переменную $match.
    		// $match[0] массив полных текстов меток. например {Market_place}SearchText=Смартфон|SearchPhrase=Купить Смартфон Xiaomi{/Market_place} 
    		// $match[1] массив урезанных меток. Например SearchText=Смартфон|SearchPhrase=Купить Смартфон Xiaomi
    		preg_match_all($preg_str, $body, $match);
    		$search = []; // Здесь будем хранить массив полных текстов меток
    		$replace = [];// Здесь будем хранить текст скрипта с подставленными значениями меток
    		$counter = 0;// в некоторых скриптах необходимо проставлять его порядковый номер. Как параметр в тексте должен быть обозначен [__counter]
    		foreach($match[1] as $key_match=>$str_params){
    			$counter++;
    			$tmparr = explode('|',$str_params);
    			$mutated_str = $script;
    			// в цикле заменяем все найденные параметры их значениями
    			foreach($tmparr as $one_param){
    				$tmp_param = explode('=',$one_param);
    				$mutated_str = str_replace('[['.$tmp_param[0].']]',$tmp_param[1],$mutated_str);
    			}
    			
    			$search[] = $match[0][$key_match];
    			$replace[] = str_replace('[__counter]',$counter,$mutated_str); //сразу проставим порядковые номера 
    		}
    		
    		// заменяем метки в тексте на преобразованные скрипты
    		return str_replace($search,$replace,$body);
    	}
    Ответ написан
  • Как реализовать подобную пагинацию на php?

    leha_gorbunov
    @leha_gorbunov
    Программист
    Проверять с какой страницы был переход в переменной $_SERVER['HTTP_REFERER']
    Ответ написан
  • MYSQL работает только в один поток?

    leha_gorbunov
    @leha_gorbunov
    Программист
    Выстави
    innodb_thread_concurrency = 0

    А эти переменные равными количеству ядер, которые планируешь задействовать для mysql
    innodb_read_io_threads
    innodb_write_io_threads
    (в идеале их на максималки выставить в значения 64, там сервер сам разберется сколько ему надо ядер)
    Ответ написан
  • Как распарсить Яндекс.Маркет?

    leha_gorbunov
    @leha_gorbunov
    Программист
    API Яндекса закрыли для доступа с марта 2019. Оставили только крупным порталам.
    UPD: Вот еще сервис типа контентного АПИ Яндекс Маркета market-scanner.ru
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (1)