Постоянно гуглю ошибки, лезу в документациюпохвально
это отнимает много времени, бывает полчаса над ошибкой сижу...нормально
Когда это закончится?никогда
Сколько лет пройдётПройдет после смерти
Чтоб ты всё понимал, что происходит и вообще ошибок не было никогданедостижимо
git remote add <имя remote> <URL>
git push <имя remote> <имя ветки>
git fetch <имя remote> <имя ветки>
git merge <имя remote>/<имя ветки>
<магия разрешения конфликтов>
$status = "Ого: 1";
$urll= "http://api.vk.com/method/status.set?group_id={id}&text={$status}&access_token={$token}&v=5.95";
$url= json_decode(file_get_contents(urlencode($urll)));
$resultArray = [];
for ($i = 1; $i <= 9999; $i++) {
$resultArray[] = str_pad($i, 4, '0', STR_PAD_LEFT);
}
var_dump($resultArray);
str_pad(
$i, // текущее число (оно будет приведено к строке автоматически)
4, // дополнить до 4-х символов
'0', // нулями
STR_PAD_LEFT // слева
)
<?php
$var = 'https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo $var;
?>
class Animal {}
class Dog extends Animal {
public void doSound() {}
}
interface Vocal {
void doSound();
}
class Animal {}
class Dog extends Animal implements Vocal {
@Override
public void doSound();
}
if (animal instanceof Vocal)
((Vocal)animal).doSound().
class Animal {
protected:
void doSound();
};
class Dog : public Animal {
public:
using Animal::doSound;
};
protected __property Caption
. И в 99% случаев этого хватает: заглавие отображается где-то — вытягивай наружу. У меня возник вопрос с автоматическим переводом форм. Либо подключай интроспекцию, либо Public Морозов (в Delphi/Builder есть интроспекция и доп. право доступа published, подключающее свойство к ней). Я не стал мучиться и сделал второе.public class Dog extends Animal {
@Override
public void doSound() { super.doSound(); }
}
public static void main(String[] args) {
Animal an = new Animal();
an.doSound(); // protected!
}
class Animal {
public boolean isVocal() { return false; }
public void doSound() {}
}
class Animal {
public Vocal getVocal() { return null; }
}
// Загружаем кашерный файл
LOAD DATA LOCAL INFILE '/srv/cms_cpa/files/adimport_items.csv' INTO TABLE adimport_tmp CHARACTER SET utf8 FIELDS TERMINATED BY '|' ENCLOSED BY "'" LINES TERMINATED BY '\n' IGNORE 1 LINES (id_adimport,article,available,currencyId,delivery,description,id,name,oldprice,param,picture,price,url,vendor,advcampaign_id,advcampaign_name);
// Загружаем только нужные поля (!!!)
LOAD DATA LOCAL INFILE '/srv/cms_cpa/files/adimport_items.csv' INTO TABLE adimport_tmp CHARACTER SET utf8 FIELDS TERMINATED BY '|' ENCLOSED BY "'" LINES TERMINATED BY '\n' IGNORE 1 LINES (id_adimport,@ISBN,@adult,@age,article,@attrs,@author,available,@barcode,@binding,@brand,@categoryId,@country_of_origin,currencyId,delivery,description,@downloadable,@format,@gender,id,@local_delivery_cost,@manufacturer_warranty,@market_category,@model,@modified_time,name,oldprice,@orderingTime,@page_extent,param,@performed_by,@pickup,picture,price,@publisher,@sales_notes,@series,@store,@syns,@topseller,@type,@typePrefix,url,vendor,@vendorCode,@weight,@year,advcampaign_id,advcampaign_name,@deeplink);
// Все поля
LOAD DATA LOCAL INFILE '/srv/cms_cpa/files/adimport_items.csv' INTO TABLE adimport_tmp CHARACTER SET utf8 FIELDS TERMINATED BY '|' ENCLOSED BY "'" LINES TERMINATED BY '\n' IGNORE 1 LINES (id_adimport,ISBN,adult,age,article,attrs,author,available,barcode,binding,brand,categoryId,country_of_origin,currencyId,delivery,description,downloadable,format,gender,id,local_delivery_cost,manufacturer_warranty,market_category,model,modified_time,name,oldprice,orderingTime,page_extent,param,performed_by,pickup,picture,price,publisher,sales_notes,series,store,syns,topseller,type,typePrefix,url,vendor,vendorCode,weight,year,advcampaign_id,advcampaign_name,deeplink);
function search_rus_symbol()
{
var arTexts = document.getElementById('www1').innerHTML.match(/>([^\<]*)/ig);
var arItems = [];
arTexts.forEach(function(item, key){
arItems[key] = item.replace(/([А-Яа-я]+)/mg, '<font color="red">$1</font>');
});
arTexts.forEach(function(item, key){
document.getElementById('www1').innerHTML = document.getElementById('www1').innerHTML.replace(item, arItems[key]);
});
}
let t = document.getElementById('www1');
// достаем потенциальные текстовые узлы
textNodes = t.innerHTML.match(/(>[^<>]*?)([а-яА-Яё]+)([^<>]*?<)/igm) || [];
// проходим по каждому регуляркой в цикле
textNodes.forEach(function(tNode){
let repl = tNode.replace(/([а-яё]+)/igm, '<mark>$1</mark>');
t.innerHTML = t.innerHTML.replace(tNode, repl);
});
function replacer(el){
var i, node, span;
if(el.hasChildNodes()) {
for(i=0; i<el.childNodes.length; i++) {
node = el.childNodes[i];
if(node.nodeType === Node.ELEMENT_NODE) {
if( !!~['SCRIPT','NOSCRIPT'].indexOf(node.nodeName)) continue;
replacer(node);
} else if( node.nodeType === Node.TEXT_NODE) {
if(node.nodeValue.match(/^\s+$/)) continue;
span = document.createElement("span");
span.innerHTML = node.nodeValue.replace(/([а-яА-Я]+)/ug, '<i>$1</i>');
el.insertBefore(span, node);
el.removeChild(node);
}
}
}
}
replacer(document.body);
<span>
, чтобы просто innerHTML ему заменить.