| Server IP : 3.93.235.159 / Your IP : 216.73.216.140 Web Server : Apache System : Linux ip-172-26-0-169 5.10.0-46-cloud-amd64 #1 SMP Debian 5.10.262-1 (2026-07-31) x86_64 User : bitnami ( 1000) PHP Version : 8.2.9 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /bitnami/wordpress/wp-content/plugins/wordpress-seo/src/llms-txt/application/ |
Upload File : |
<?php
// phpcs:disable Yoast.NamingConventions.NamespaceName.TooLong
namespace Yoast\WP\SEO\Llms_Txt\Application;
/**
* The escaper of markdown.
*/
class Markdown_Escaper {
/**
* Escapes markdown text.
*
* @param string $text The markdown text to escape.
*
* @return string The escaped markdown text.
*/
public function escape_markdown_content( $text ) {
// We have to decode the text first mostly because ampersands will be escaped below.
$text = \html_entity_decode( $text, \ENT_QUOTES, 'UTF-8' );
// Define a regex pattern for all the special characters in markdown that we want to escape.
$pattern = '/[-#*+`._[\]()!&<>_{}|]/';
$replacement = static function ( $matches ) {
return '\\' . $matches[0];
};
return \preg_replace_callback( $pattern, $replacement, $text );
}
/**
* Escapes URLs in markdown.
*
* @param string $url The markdown URL to escape.
*
* @return string The escaped markdown URL.
*/
public function escape_markdown_url( $url ) {
$escaped_url = \str_replace( [ ' ', '(', ')', '\\' ], [ '%20', '%28', '%29', '%5C' ], $url );
return $escaped_url;
}
}