function search( search, subject, before) {
var limit = subject.indexOf( before);
if( limit == -1) return -1;
return subject.substr(0, limit).indexOf( search);
}
search( 'строка 2', 'строка 1 строка 2 строка 3 строка 4', 'строка 3') // 9
str.substr(0,41).indexOf('что ищем')
$ch = curl_init();
curl_setopt_array( $ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => [
"file" => new CURLFile("/tmp/" . $tmpFileName) // путь к принятому файлу
],
CURLOPT_URL => "http://server-B.domain.com"
]);
curl_exec( $ch); // выполнить запрос
$arr = [["class" => "\common\models\Gods","label" => "выбирите Товар","title" => "title"],
["class" => "\common\models\Category","title" => "name","id" => "id"]];
$search = "\common\models\Category"; // что ищем
$found = null;
foreach($arr as $key => $value) {
if( $value[ "class"] === $search) {
$found = $value;
break;
}
}
if( is_null($found)) throw new Exception("Not found");
print_r($found);
/*
Array
(
[class] => \common\models\Category
[title] => name
[id] => id
)
*/
function convert(s) {
var c, i, bo = 0, div = "\u0083", arr = s.split('');
for( i = 0; i < arr.length; i++) {
c = arr[i];
if( c === '[') {
bo++;
} else if( c === ']') {
bo--;
} else if( bo > 0 && c === ' ') {
arr[i] = div;
}
}
return arr
.join('')
.split(' ')
.map( function(s){ return s.replace( new RegExp(div,'g'), ' ')})
;
}
var s = "слово1 слово2 [слово слово слово] слово3";
convert(s) // ["слово1","слово2","[слово слово слово]","слово3"]
function eatme(s) {
var arr = s.split('')
, pos = [] // позиции удалябельных символов
, i
, todo = [] // позиции чтобы удалить
;
for(i=0;i<arr.length;i++) if( !arr[i].match(/[\s\d\.,\?\!:;\(\)"'`—–-]/)) pos.push(i);
if( pos.length === 0) return s; // нечего удалять
todo.push( pos.splice( Math.floor( Math.random() * pos.length),1)[0]);
if( pos.length > 0 && Math.random() > 0.5) {
todo.push( pos.splice( Math.floor( Math.random() * pos.length),1)[0]);
}
// todo содержит 1 или 2 индеса для удаления
todo = todo.sort(function(a,b){return a>b?1:(a<b?-1:0)});
while(todo.length) arr.splice( todo.pop(), 1);
return arr.join('');
}
console.log( eatme("hello, world!"))
var words = {}, i, src = document.getElementById('text')
.innerText
.split(/[\s\.,:;!?]+/)
.map(function(el){ return el.toLowerCase()})
;
for(i=0; i<src.length; i++) {
word = src[i];
if( words.hasOwnProperty(word)) words[word]++;
else words[word] = 1;
}
var dupes = [];
for(i in words) if(words[i] > 1) dupes.push(i);
var p = document.createElement("p");
p.innerText = JSON.stringify(dupes);
document.body.appendChild(p);
var s = {comment:"test"};
var s1 = JSON.stringify(s); // {"comment":"test"}
var s2 = JSON.stringify(s1); // "{\"comment\":\"test\"}"
var s3 = JSON.stringify(s2); // "\"{\\\"comment\\\":\\\"test\\\"}\""
var s4 = JSON.stringify(s3); // "\"\\\"{\\\\\\\"comment\\\\\\\":\\\\\\\"test\\\\\\\"}\\\"\""