Resolver
in package
テンプレート内のHTML要素のパス解決を行うクラス a-blog cms 公式ドキュメントに記載の通り、テンプレート内のパスを解決する。
Tags
Table of Contents
Methods
- resolvePath() : string
- 指定されたパスをテーマ、テンプレートパスを考慮したパスを変換
- rewritePaths() : string
- テンプレートのパスを解決して変換
- nextSearchOffset() : int
- substr_replace後の次の検索開始オフセットを計算する
- resolveCssUrl() : string
- styleタグ・インラインstyle属性内のCSS url()のパス解決
- resolveFilePath() : string
- ファイルパスの解決
- resolveLink() : string|null
- ブログを考慮したリンクに変換
- resolveLinkAttribute() : string
- リンク属性のパス解決
- resolveMetaAttribute() : string
- meta要素のcontent属性のパス解決(OGP/Twitter Card/Windows Tile画像等)
- resolveObjectArchives() : string
- object/applet要素のarchives属性のパス解決
- resolveSrcSetAttribute() : string
- srcset属性のパス解決
- resolveSvgAttribute() : string
- SVG要素(image, use)のhref/xlink:href属性のパス解決
- resolveVideoPoster() : string
- video要素のposter属性のパス解決
Methods
resolvePath()
指定されたパスをテーマ、テンプレートパスを考慮したパスを変換
public
resolvePath(string $path, string $theme, string $tplPath) : string
Parameters
- $path : string
-
変換対象のパス
- $theme : string
-
テーマ名
- $tplPath : string
-
パスが記述されているテンプレートファイルのパス。相対パス・../ 解決の基準となる。ルート等の場合は '/'
Return values
stringrewritePaths()
テンプレートのパスを解決して変換
public
rewritePaths(string $txt, string $theme, string $tplPath, int $bid) : string
Parameters
- $txt : string
-
パスを含むテンプレート文字列
- $theme : string
-
テーマ名
- $tplPath : string
-
パスが記述されているテンプレートファイルのパス。相対パス解決の基準となる。ルート等の場合は '/'
- $bid : int
-
ブログID
Return values
stringnextSearchOffset()
substr_replace後の次の検索開始オフセットを計算する
private
nextSearchOffset(array<int, array{string, int}> $match[, int $lengthDelta = 0 ]) : int
正規表現マッチのフルマッチ末尾を基準に、置換による文字列長の変化を加味して次の検索開始位置を返す。
Parameters
- $match : array<int, array{string, int}>
-
PREG_OFFSET_CAPTURE のマッチ結果
- $lengthDelta : int = 0
-
置換による文字列長の変化量(strlen(replacement) - strlen(original))。置換なしの場合は0。
Return values
intresolveCssUrl()
styleタグ・インラインstyle属性内のCSS url()のパス解決
private
resolveCssUrl(string $txt, string $theme, string $tplPath) : string
Parameters
- $txt : string
-
パスを含むテンプレート文字列
- $theme : string
-
テーマ名
- $tplPath : string
-
パスが記述されているテンプレートファイルのパス。相対パス解決の基準となる。ルート等の場合は '/'
Return values
stringresolveFilePath()
ファイルパスの解決
private
resolveFilePath(string $txt, string $theme, string $tplPath) : string
Parameters
- $txt : string
-
パスを含むテンプレート文字列
- $theme : string
-
テーマ名
- $tplPath : string
-
パスが記述されているテンプレートファイルのパス。相対パス解決の基準となる。ルート等の場合は '/'
Return values
stringresolveLink()
ブログを考慮したリンクに変換
private
resolveLink(string $link[, int $bid = 0 ]) : string|null
Parameters
- $link : string
-
変換対象のリンクURL
- $bid : int = 0
-
ブログID
Return values
string|nullresolveLinkAttribute()
リンク属性のパス解決
private
resolveLinkAttribute(string $txt, int $bid) : string
Parameters
- $txt : string
-
パスを含むテンプレート文字列
- $bid : int
-
ブログID
Return values
stringresolveMetaAttribute()
meta要素のcontent属性のパス解決(OGP/Twitter Card/Windows Tile画像等)
private
resolveMetaAttribute(string $txt, string $theme, string $tplPath) : string
Parameters
- $txt : string
-
パスを含むテンプレート文字列
- $theme : string
-
テーマ名
- $tplPath : string
-
パスが記述されているテンプレートファイルのパス。相対パス解決の基準となる。ルート等の場合は '/'
Return values
stringresolveObjectArchives()
object/applet要素のarchives属性のパス解決
private
resolveObjectArchives(string $txt, string $theme, string $tplPath) : string
resolveFilePathの正規表現は1マッチで1属性しか処理できないため、 data属性と同一タグに存在するarchives属性は別パスで解決する。
Parameters
- $txt : string
-
パスを含むテンプレート文字列
- $theme : string
-
テーマ名
- $tplPath : string
-
パスが記述されているテンプレートファイルのパス。相対パス解決の基準となる。ルート等の場合は '/'
Return values
stringresolveSrcSetAttribute()
srcset属性のパス解決
private
resolveSrcSetAttribute(string $txt, string $theme, string $tplPath) : string
Parameters
- $txt : string
-
パスを含むテンプレート文字列
- $theme : string
-
テーマ名
- $tplPath : string
-
パスが記述されているテンプレートファイルのパス。相対パス解決の基準となる。ルート等の場合は '/'
Return values
stringresolveSvgAttribute()
SVG要素(image, use)のhref/xlink:href属性のパス解決
private
resolveSvgAttribute(string $txt, string $theme, string $tplPath) : string
Parameters
- $txt : string
-
パスを含むテンプレート文字列
- $theme : string
-
テーマ名
- $tplPath : string
-
パスが記述されているテンプレートファイルのパス。相対パス解決の基準となる。ルート等の場合は '/'
Return values
stringresolveVideoPoster()
video要素のposter属性のパス解決
private
resolveVideoPoster(string $txt, string $theme, string $tplPath) : string
resolveFilePathの正規表現は1マッチで1属性しか処理できないため、 src属性と同一タグに存在するposter属性は別パスで解決する。
Parameters
- $txt : string
-
パスを含むテンプレート文字列
- $theme : string
-
テーマ名
- $tplPath : string
-
パスが記述されているテンプレートファイルのパス。相対パス解決の基準となる。ルート等の場合は '/'