Back to Rss Bridge

getInput

docs/06_Helper_functions/index.md

2025-08-0512.2 KB
Original Source

getInput

The getInput function is used to receive a value for a parameter, specified in const PARAMETERS

PHP
$this->getInput('your input name here');

getInput will either return the value for your parameter or null if the parameter is unknown or not specified.

Defined in lib/BridgeAbstract.php

getKey

The getKey function is used to receive the key name to a selected list value given the name of the list, specified in const PARAMETERS Is able to work with multidimensional list arrays.

PHP
// Given a multidimensional array like this
const PARAMETERS = [[
        'country' => [
            'name' => 'Country',
            'type' => 'list',
            'values' => [
                'North America' => [
                    'Mexico' => 'mx',
                    'United States' => 'us'
                ],
                'South America' => [
                    'Uruguay' => 'uy',
                    'Venezuela' => 've'
                ],
            ]
        ]
]],
// Provide the list name to the function
$this->getKey('country');
// if the selected value was "ve", this function will return "Venezuela"

getKey will either return the key name for your parameter or null if the parameter is unknown or not specified.

Defined in lib/BridgeAbstract.php

getContents

The getContents function uses cURL to acquire data from the specified URI while respecting the various settings defined at a global level by RSS-Bridge (i.e., proxy host, user agent, etc.). This function accepts a few parameters:

ParameterTypeOptionalDescription
urlstringrequiredThe URL of the contents to acquire
headerarrayoptionalAn array of HTTP header fields to set, in the format array('Content-type: text/plain', 'Content-length: 100'), see CURLOPT_HTTPHEADER
optsarrayoptionalAn array of cURL options in the format array(CURLOPT_POST => 1);, see curl_setopt for a complete list of options.
returnFullbooleanoptionalSpecifies whether to return the response body from cURL (default) or the response body, code, headers, etc.
PHP
$header = array('Content-type:text/plain', 'Content-length: 100');
$opts = array(CURLOPT_POST => 1);
$html = getContents($url, $header, $opts);

Defined in lib/contents.php

getSimpleHTMLDOM

The getSimpleHTMLDOM function is a wrapper for the simple_html_dom file_get_html function in order to provide context by design.

PHP
$html = getSimpleHTMLDOM('your URI');

Defined in lib/contents.php

getSimpleHTMLDOMCached

The getSimpleHTMLDOMCached function does the same as the getSimpleHTMLDOM function, except that the content received for the given URI is stored in a cache and loaded from cache on the next request if the specified cache duration was not reached.

Use this function for data that is very unlikely to change between consecutive requests to RSS-Bridge. This function allows to specify the cache duration with the second parameter.

PHP
$html = getSimpleHTMLDOMCached('your URI', 86400); // Duration 24h

Defined in lib/contents.php

throwClientException($message = '')

The throwClientException function aborts execution of the current bridge.

PHP
throwClientException('Bad user input')

Use this function when the user provided invalid parameter or a required parameter is missing.

Defined in lib/utils.php

throwServerException($message = '')

The throwServerException function aborts execution of the current bridge.

PHP
throwServerException('Received empty reply from thirdparty api')

Use this function when a problem occurs that has nothing to do with the parameters provided by the user. (like: Host service gone missing, empty data received, etc...)

Defined in lib/utils.php

throwRateLimitException($message = '')

Throws a RateLimitException which produces an HTTP 429 response.

defaultLinkTo

Automatically replaces any relative URL in a given string or DOM object (i.e. the one returned by getSimpleHTMLDOM) with an absolute URL.

php
defaultLinkTo ( mixed $content, string $server ) : object

Returns a DOM object (even if provided a string).

Remarks

  • Only handles <a> and `` tags.

Example

php
$html = '';

$html = defaultLinkTo($html, 'https://www.github.com/rss-bridge/rss-bridge'); // Using custom server
$html = defaultLinkTo($html, $this->getURI()); // Using bridge URL

// Output
// 

Defined in lib/html.php

backgroundToImg

Replaces tags with styles of backgroud-image by `` tags.

php
backgroundToImg(mixed $htmlContent) : object

Returns a DOM object (even if provided a string).

Defined in lib/html.php

extractFromDelimiters

Extract the first part of a string matching the specified start and end delimiters.

php
function extractFromDelimiters(string $string, string $start, string $end) : mixed

Returns the extracted string if delimiters were found and false otherwise.

Example

php
$string = '<div>Post author: John Doe</div>';
$start = 'author: ';
$end = '<';
$extracted = extractFromDelimiters($string, $start, $end);

// Output
// 'John Doe'

Defined in lib/html.php

stripWithDelimiters

Remove one or more part(s) of a string using a start and end delimiter. It is the inverse of extractFromDelimiters.

php
function stripWithDelimiters(string $string, string $start, string $end) : string

Returns the cleaned string, even if no delimiters were found.

Example

php
$string = 'foo<script>superscript()</script>bar';
$start = '<script>';
$end = '</script>';
$cleaned = stripWithDelimiters($string, $start, $end);

// Output
// 'foobar'

Defined in lib/html.php

stripRecursiveHTMLSection

Remove HTML sections containing one or more sections using the same HTML tag.

php
function stripRecursiveHTMLSection(string $string, string $tag_name, string $tag_start) : string

Example

php
$string = 'foo<div class="ads"><div>ads</div>ads</div>bar';
$tag_name = 'div';
$tag_start = '<div class="ads">';
$cleaned = stripRecursiveHTMLSection($string, $tag_name, $tag_start);

// Output
// 'foobar'

Defined in lib/html.php

markdownToHtml

Converts markdown input to HTML using Parsedown.

ParameterTypeOptionalDescription
stringstringrequiredThe URL of the contents to acquire
configarrayoptionalAn array of Parsedown options in the format ['breaksEnabled' => true]

Valid options:

OptionDefaultDescription
breaksEnabledfalseEnable automatic line breaks
markupEscapedfalseEscape inline markup (HTML)
urlsLinkedtrueAutomatically convert URLs to links
php
function markdownToHtml(string $string, array $config = []) : string

Example

php
$input = <<<EOD
RELEASE-2.8
 * Share QR code of a token
 * Dark mode improvemnet
 * Fix some layout issues
 * Add shortcut to launch the app with screenshot mode on
 * Translation improvements
EOD;
$html = markdownToHtml($input);

// Output:
// <p>RELEASE-2.8</p>
// <ul>
// <li>Share QR code of a token</li>
// <li>Dark mode improvemnet</li>
// <li>Fix some layout issues</li>
// <li>Add shortcut to launch the app with screenshot mode on</li>
// <li>Translation improvements</li>
// </ul>

Defined in lib/html.php

e

The e function is used to convert special characters to HTML entities

PHP
e('0 < 1 and 2 > 1');

e will return the content of the string escape that can be rendered as is in HTML

Defined in lib/html.php

truncate

The truncate function is used to shorten a string if exceeds a certain length, and add a string indicating that the string has been shortened.

PHP
truncate('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed a neque nunc. Nam nibh sem.', 20 , '...');

Defined in lib/html.php

sanitize

The sanitize function is used to remove some tags from a given HTML text.

PHP
$html = '<head><title>Sample Page</title></head>
<body><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit...</p>
<iframe src="https://www.example.com" width="600" height="400" frameborder="0" allowfullscreen></iframe>
</body>
</html>';
$tags_to_remove = ['script', 'iframe', 'input', 'form'];
$attributes_to_keep = ['title', 'href', 'src'];
$text_to_keep = [];
sanitize($html, $tags_to_remove, $attributes_to_keep, $text_to_keep);

This function returns a simplehtmldom object of the remaining contents.

Defined in lib/html.php

convertLazyLoading

The convertLazyLoading function is used to convert onvert lazy-loading images and frames (video embeds) into static elements. It accepts the HTML content as HTML objects or string objects. It returns the HTML content with fixed image/frame URLs (same type as input).

PHP
$html = '<html>
<body style="background-image: url('bgimage.jpg');">
<h1>Hello world!</h1>
</body>
</html>
backgroundToImg($html);

Defined in lib/html.php

Json::encode

The Json::encode function is used to encode a value as à JSON string.

PHP
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
Json::encode($array, true, true);

Defined in lib/utils.php

Json::decode

The Json::decode function is used to decode a JSON string into à PHP variable.

PHP
$json = '{
    "foo": "bar",
    "bar": "foo"
}';
Json::decode($json);

Defined in lib/utils.php

get_sitemap(string $url): array

Convenience function to fetch urls from xml sitemap.

php
$urls = get_sitemap('https://arte.sky.it/sitemap-mostre-eventi.xml');

foreach ($urls as $url) {
    $loc = $url['loc'];
    $lastmod = $url['lastmod'];
}

handleYoutube(string $html): string

Use this function to throw a YouTube link, iframe tag or video ID and get a HTML snippet that returns a normalized iframe tag or clickable image thumbnail, depending on system configuration.

php
$result = handleYoutube('naYc5X6EL_Y');

$result = handleYoutube('https://www.youtube.com/watch?v=naYc5X6EL_Y');

$result = handleYoutube('https://www.youtube.com/embed/naYc5X6EL_Y');

$iframe = '<iframe width="560" height="315" src="https://www.youtube.com/embed/naYc5X6EL_Y?si=abcdefgh" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>';
$result = handleYoutube($iframe);

Defined in lib/html.php