Module:String/doc: Difference between revisions

Content deleted Content added
m Reverted 1 edit by 2806:250:14E:C8A8:4C4A:C483:23E3:2DCF (talk) to last revision by 64.114 etc
Copy findpagetext from Module:String
 
(One intermediate revision by one other user not shown)
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>