PHP関連のことを調べてみた2020年12月25日

PHP関連のことを調べてみた2020年12月25日

文字列の長い順番に揃えたい

たとえばtwitterのツイートの中のユーザIDをリンクにしたいとき
@hoge, @hogehoge があると、@hogeを置換するときに@hogehogeのほうも置換されちゃう
これを防ぐには、ユーザIDを抽出した後に文字数の大きい順番にソートする必要がある

このロジックは文字列置換・文字列探索の業務でちょくちょく必要になる

“`PHP
$ary = [‘hogehoge’, ‘hoge’, ‘aiueo’];

usort($ary, ‘lrsort’);

function lrsort ($a, $b) {
$la = strlen($a);
$lb = strlen($b);
if ($la < $lb) return 1; if ($la > $lb) return -1;
return 0;
}
“`

元記事を表示

AdMobの売上データをデータベース連携する

こんにちは。Link-U入社2年目のたくやんです。
今年1年何をやったかなぁと思い返すと、そういやAdMobの売上データを取得するのにそこそこ苦労したなぁと思い、
備忘録も兼ねて書き残したいと思います。

##AdMobとは
>AdMob – Wikipedia
>https://en.wikipedia.org/wiki/AdMob

Googleが提供するアプリ内広告です。審査が厳し目とかいう噂を聞いたり聞かなかったり。

##前準備

#### credentials.jsonの取得

https://console.developers.google.com/apis/credentials
から認証情報を登録すると、credentials_jsonファイルをダウンロードすることができる。

#### oauth2のインストール

“`
curl https://storage.googleapis.com/oauth2l/latest/linux_amd64.tgz | tar zx -C /usr/local/bin –strip-components 1
cp c

元記事を表示

Lightningにメニュー項目を追加(function.php/header.php)

#wordpressの無料テーマLightining
管理画面で設定できるメニュー箇所を追加する方法をご紹介

完成系は
有料版にあるヘッダー右上のヘッダーサブメニューを無料版Lightningに追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/01e90c14-9686-813c-7e59-a4bf44f01b42.png)

ダッシュボードにも、ちゃんとメニューバーの設定項目が出力されます!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/1e3ebeab-3ecf-ef92-4da7-011b25163c1f.png)

#functino.phpに追記
以下を追記
・header_sub : 任意の文字列
・ヘッダーサブメニュー : 外観>メニューで表示される任意の文字列

“`php

register_nav_menus(array(
‘he

元記事を表示

pChart を PHP7 対応させる方法

#概略
pChart を、PHP7 で動かすとエラーが出て正常に動いてくれません。これの暫定的な対応策です。とりあえず動いてくれればいいや、という状況向け。

#詳細

こんな感じのエラーが出ます。

“`php
Fatal error: Uncaught Error: Cannot use string offset as an array “pchart”
“`

エラーの原因としては、変数を後から配列扱いすると PHP7 でエラーが出るようになったのが原因なので、pChart.class と pData.class を何箇所か修正すると正常に動くようになります。

“`php
$this->Data = “”;
$this->DataDescription = “”;
“`

↓ 以下のように初期化宣言を直す。

“`php
$this->Data = array();
$this->DataDescription = array();
“`

以上。

元記事を表示

空白検知(ゼロ幅スペースなどに対応した完全版) in JS/PHP

空白や改行だけの文字列の検知には正規表現の`\S`で検知したり、`String.prototype.trim()`([MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/trim))を使用することがありますが、これだとゼロ幅スペース([Wikipedia](https://ja.wikipedia.org/wiki/ゼロ幅スペース))などの一部の空白文字は通過してしまいます。そこで、より多くの文字を検知するコードを書いたので紹介します。

## JavaScriptの場合
“`javascript
const word = “判別する文字列”;
const reg = /^[\u0009-\u000d\u001c-\u0020\u11a3-\u11a7\u1680\u180e\u2000-\u200f\u202f\u205f\u2060\u3000\u3164\ufeff\u034f\u2028\u2029\u202a-\u202e\u2061-\u2063

元記事を表示

phpにおけるhtml文のプルダウンメニューでループを回す方法

#ソースコード

簡潔な書き方

“`

OTHERカテゴリの最新記事