41 return strtolower( str_replace(
' ',
'_', $name ) );
54 $this->foreignNamespacesFlipped = [];
57 $this->foreignNamespacesFlipped[$newKey] = $id;
74 if ( is_null( $ns ) ) {
88 $pieces = explode(
':',
$title, 2 );
93 $isNamespacePartValid = isset( $this->foreignNamespacesFlipped[$key] );
95 if ( count( $pieces ) === 2 && $isNamespacePartValid ) {
96 list( $namespaceName, $pageName ) = $pieces;
97 $ns = $this->foreignNamespacesFlipped[$key];
104 return new ForeignTitle( $ns, $namespaceName, $pageName );
115 $pieces = explode(
':',
$title, 2 );
118 $titleIncludesNamespace = ( $ns !=
'0' && count( $pieces ) === 2 );
120 if ( isset( $this->foreignNamespaces[$ns] ) ) {
121 $namespaceName = $this->foreignNamespaces[$ns];
128 $namespaceName = $titleIncludesNamespace ? $pieces[0] :
"Ns$ns";
133 if ( $titleIncludesNamespace ) {
134 $pageName = $pieces[1];
139 return new ForeignTitle( $ns, $namespaceName, $pageName );
A simple, immutable structure to hold the title of a page on a foreign MediaWiki installation.
A parser that translates page titles on a foreign wiki into ForeignTitle objects, using information a...
parseTitleWithNs( $title, $ns)
Helper function to parse the title when the namespace value is known.
parseTitleNoNs( $title)
Helper function to parse the title when the namespace ID is not specified.
array $foreignNamespacesFlipped
createForeignTitle( $title, $ns=null)
Creates a ForeignTitle object based on the page title, and optionally the namespace ID,...
__construct( $foreignNamespaces)
normalizeNamespaceName( $name)
Normalizes an array name for $foreignNamespacesFlipped.
A parser that translates page titles into ForeignTitle objects.