Server IP : 172.67.214.6 / Your IP : 216.73.216.73 Web Server : LiteSpeed System : Linux premium900.web-hosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : redwjova ( 1790) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/redwjova/www/wp-content/plugins/wordpress-seo/src/llms-txt/domain/markdown/items/ |
Upload File : |
<?php // phpcs:disable Yoast.NamingConventions.NamespaceName.MaxExceeded namespace Yoast\WP\SEO\Llms_Txt\Domain\Markdown\Items; use Yoast\WP\SEO\Llms_Txt\Application\Markdown_Escaper; /** * Represents a link markdown item. */ class Link implements Item_Interface { /** * The description that is part of this link. * * @var string */ private $description; /** * The link text. * * @var string */ private $text; /** * The anchor text. * * @var string */ private $anchor; /** * Class constructor. * * @param string $text The link text. * @param string $anchor The anchor text. * @param string $description The description. */ public function __construct( string $text, string $anchor, string $description = '' ) { $this->text = $text; $this->anchor = $anchor; $this->description = $description; } /** * Renders the link item. * * @return string */ public function render(): string { $description = ( $this->description !== '' ) ? ": $this->description" : ''; return "[$this->text]($this->anchor)$description"; } /** * Escapes the markdown content. * * @param param Markdown_Escaper $markdown_escaper The markdown escaper. * * @return void */ public function escape_markdown( Markdown_Escaper $markdown_escaper ): void { $this->text = $markdown_escaper->escape_markdown_content( $this->text ); $this->description = $markdown_escaper->escape_markdown_content( $this->description ); $this->anchor = $markdown_escaper->escape_markdown_url( $this->anchor ); } }