Module:String/doc: Difference between revisions

Content deleted Content added
add {{documentation subpage}} for Category:Module documentation pages
Copy findpagetext from Module:String
 
(6 intermediate revisions by 4 users not shown)
Line 1:
{{documentation subpage}}
{{Used in system}}
{{Module rating|protected}}
{{cascade-protected template|page=module}}
{{Lmd|String}}
 
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 382 ⟶ 403:
 
== See also==
* {{mfl|Params|mapping_by_replacing}} and other functions from the same module
* {{mfl|MultiReplace|main}}
 
{{String handling templates}}
<includeonly>{{Sandbox other||
[[Category:Modules that add a tracking category]]
[[Category:Modules that manipulate strings|*]]
[[Category:Template metamodules]]
 
}}</includeonly>