Content deleted Content added
No edit summary Tags: Reverted Mobile edit Mobile web edit |
Copy findpagetext from Module:String |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 107:
OR
: <code><nowiki>{{#invoke:</nowiki>String|match|s= ''source_string'' |pattern= ''pattern_string'' |start= ''start_index'' |match= ''match_number'' |plain= ''plain_flag'' |nomatch= ''nomatch_output'' }}</code>
Line 251:
Testing for the presence of a string:
* <code>{{pf|ifexpr|<nowiki>{{#invoke:string|find|haystack|needle}}</nowiki>|Found needle|Didn't find needle}}</code> → {{#ifexpr:{{#invoke:string|find|haystack|needle}}|Found needle|Didn't find needle}}
=== findpagetext ===
The findpagetext function returns the position of a piece of text in the wikitext source of a page. It takes up to four parameters:
* First positional parameter or |text is the text to be searched for.
* Optional parameter |title is the page title, defaults to the current page.
* Optional parameter |plain is either true for a plain search (default), or false for a [[mw:Extension:Scribunto/Lua reference manual #Patterns|Lua pattern]] search.
* Optional parameter |nomatch is the value returned when no match is found; default is nothing.
; Examples
: <code><nowiki>{{#invoke:String |findpagetext |text=Youghiogheny}}</nowiki></code> → {{#invoke:String2 |findpagetext |text=Youghiogheny}}
: <code><nowiki>{{#invoke:String |findpagetext |text=Youghiogheny |nomatch=not found}}</nowiki></code> → {{#invoke:String2 |findpagetext |text=Youghiogheny |nomatch=not found}}
: <code><nowiki>{{#invoke:String |findpagetext |text=Youghiogheny |title=Boston Bridge |nomatch=not found}}</nowiki></code> → {{#invoke:String2 |findpagetext |text=Youghiogheny |title=Boston Bridge |nomatch=not found}}
: <code><nowiki>{{#invoke:String |findpagetext |text=river |title=Boston Bridge |nomatch=not found}}</nowiki></code> → {{#invoke:String2 |findpagetext |text=river |title=Boston Bridge |nomatch=not found}}
: <code><nowiki>{{#invoke:String |findpagetext |text=[Rr]iver |title=Boston Bridge |plain=false |nomatch=not found}}</nowiki></code> → {{#invoke:String2 |findpagetext |text=[Rr]iver |title=Boston Bridge |plain=false |nomatch=not found}}
: <code><nowiki>{{#invoke:String |findpagetext |text=%[%[ |title=Boston Bridge |plain=f |nomatch=not found}}</nowiki></code> → {{#invoke:String2 |findpagetext |text=%[%[ |title=Boston Bridge |plain=f |nomatch=not found}}
: <code><nowiki>{{#invoke:String |findpagetext |text=%{%{[Cc]oord |title=Boston Bridge |plain=f |nomatch=not found}}</nowiki></code> → {{#invoke:String2 |findpagetext |text=%{%{coord |title=Boston Bridge |plain=f |nomatch=not found}}
The search is case-sensitive, so Lua pattern matching is needed to find <code>river</code> or <code>River</code>. The last example finds <code><nowiki>{{coord</nowiki></code> and <code><nowiki>{{Coord</nowiki></code>. The penultimate example finds a wiki-link.
The [[Template:Findpagetext]] is a convenience wrapper for this function.
{{anchor|replace}}
Line 389 ⟶ 410:
[[Category:Modules that add a tracking category]]
[[Category:Modules that manipulate strings|*]]
[[Category:Template metamodules]]
}}</includeonly>
|