а зачем вам вообще такая портянка, смешивать штаты с городами в одном списке:
Los Angeles, CA, USA
город
California, USA
штат
Ну что, остались тут живые погромисты? Нужна помошь в написании регулярки)
Ничего сложного, но я не часто пользуюсь регуляркой, а тут решил не городить всякие сплиты а забирать регуляркой
Есть текст такого вида:
```
This role may also be located in our Playa Vista, CA campus.Note: By applying to this position you will have an opportunity to share your preferred working location from the following: Mountain View, CA, USA; Atlanta, GA, USA; Boulder, CO, USA; Chicago, IL, USA; New York, NY, USA; Los Angeles, CA, USA; San Francisco, CA, USA; Washington D.C., DC, USA.```
Или такого
This role may also be located in our Playa Vista, CA campus.Note: Google’s hybrid workplace includes remote and in-office roles. By applying to this position you will have an opportunity to share your preferred working location from the following:In-office locations: San Francisco, CA, USA; Boulder, CO, USA; Los Angeles, CA, USA.Remote location(s): California, USA; Colorado, USA.```
Нужно забрать из текста все локации, на выходе должно быть так:
Mountain View, CA, USA; Atlanta, GA, USA; Boulder, CO, USA; Chicago, IL, USA; New York, NY, USA; Los Angeles, CA, USA; San Francisco, CA, USA; Washington D.C., DC, USA;
San Francisco, CA, USA; Boulder, CO, USA; Los Angeles, CA, USA; California, USA; Colorado, USA
У меня получается забрать это только двумя регулярками и обьединить. Кто сможет написать одну? Ну или просто варианты?
покажите свои регулярки, а мы подкорректируем
подсказываю:
- во-первых хранить идентификаторы неразумно, тк придётся лазить по всему объёму данных
- чтобы не лазить по всему объёму данных надо сделать фиксированный размер записей, аналог char в mysql
- номером (идентификатором) записи будет просто номер записи в вашем бинарнике, если такого идентификатора не существует, просто заполняйте фиксированный объём нулл байтами
Итого:
имеем массив вида
$data= [ 5 => 'ivan', 14 => 'vova', 12=>'Sergio']
2 - определяем минимальное и максимальное значение ключей массива, в нашем случае $min = 5, $max=14, а также максимальную длину имени в байтах (по strlen), в нашем случае максимальная длина имени у Sergio, равна $maxnamelen = 6
3 - формируем датафайл:
$f = fopen(__DIR__ . '/person.bin','wb+');for($i=0;$i<=$max;$i++){ if(isset($data[$i])) { fwrite($f, pack('a'. $maxnamelen , $data[$i] )); } else { fwrite($f, pack('a'. $maxnamelen , '' )); }}fwrite($f, pack('C',$maxnamelen ));//последний байт датафайла будет нам говорить о максимальной длине имениfclose($f);
4 - при поиске, по датафайлу, определяем размер датафайла в байтах (filesize), читаем последний байт, определяем максимальную длину имени в байтах, определяем, количество блоков, деля размер датафайла на максимальную длину имени в байтах и читаем файл с нужного места, умножая $id на максимальную длину имени в байтах (идентификатор - это номер записи в датафайле)
ps: собственно поиска то и никакого не будет, вы будете просто дважды читать датафайл - первый раз, чтобы выгрести максимальную длину имени в байтах, а второй, чтобы прочитать само имя с нужного места датафайла (fseek, fread), быстрее некуда
с форума адсенса:
Есть правило, все доллары должны обязательно быть переведены через банк с США. Вам нужно уточнить в вашем банке какой банк-посредник нужно указывать в реквизитах AdSense, он должен быть именно из США. Если вы не укажете банк-посредник из США, тогда ваш платеж может пройти через несколько банков-посредников (каждый банк-посредник будет забирать себе комиссию за свои услуги перевода). Кроме того, ваш банк может отказаться принимать такой перевод.
таким образом есть три варианта:
1 - платёж дойдёт через несколько банков-посредников, и каждый будет брать комиссию
2 - платёж отклонит сам банк КЕБ
3 - адсенс вообще его не отправит или какой-нибудь банк-посредник его завернёт, или платёж вообще затеряется
вряд ли вообще кто-то знает, дойдёт ли перевод теперь и если дойдёт, то какая будет комиссия, пора открывать новую тему на форуме "КЕБ всё, куда будем выводить?"
Что выбрать из двух представленных банков в июле
юникредит многим не открывает счета по надуманным предлогам, хочу открою - хочу не открою, мне не открыл, я подал заявку через сайт две недели назад, ни слуху ни духу, к тому же в тускнеющем свете коллапсирующей российской экономики рубль будет продолжать дешеветь и зачислять на рублёвый счёт не выгодно (долларовые юникредит не открывает), поэтому среди этих двух, при условии что они оба рабочие, я бы выбрал кеб, но чую, что кеб скоро, чувствуя монополию начнёт доить коров и стричь овец по максимуму, уже начал, на бирже вчера курс доллара был больше 88, а кеб дал обменять только по 85,5
p.s.: не надо выбирать, подавайте заявки на открытие счетов сразу везде, где можете
Причем здесь это?