The clean_pre() WordPress PHP function ensures that the contents of a <pre>...</pre> HTML block are not converted into paragraphs or line breaks.
Usage
Let’s say you have a string which is within <pre> HTML tags and you want to ensure it remains as it is, not formatted into paragraphs or line breaks. You would use clean_pre() like this:
$my_text = "<pre>This is my text.</pre>"; $cleaned_text = clean_pre($my_text);
After running this code, $cleaned_text will hold the same value as $my_text, without any additional formatting.
Parameters
- $matches (array|string) – Required. This can either be an array or string which represents the content you want to ensure remains unformatted.
More information
See WordPress Developer Resources: clean_pre()
This function is a part of the WordPress core and is used internally during the HTML rendering process.
Examples
Using clean_pre() with a string
The clean_pre() function can take a string as a parameter. This is useful when you have a single string of text that you want to keep unformatted.
$text = "<pre>Some unformatted text</pre>"; $clean_text = clean_pre($text);
The $clean_text variable will now contain the original string, unformatted.
Using clean_pre() with an array
The function can also take an array of strings, each string containing text within <pre> tags.
$texts = array("<pre>Text 1</pre>", "<pre>Text 2</pre>", "<pre>Text 3</pre>");
$clean_texts = array_map('clean_pre', $texts);
Now, $clean_texts will be an array with the original strings, none of them formatted.
Using clean_pre() in a loop
You can use the function within a loop to apply it to multiple strings.
$texts = array("<pre>Text 1</pre>", "<pre>Text 2</pre>", "<pre>Text 3</pre>");
foreach ($texts as $text) {
$clean_text = clean_pre($text);
// do something with $clean_text
}
In this case, each $clean_text inside the loop will hold an unformatted string.
Using clean_pre() with a multiline string
clean_pre() can handle multiline strings within <pre> tags as well.
$text = "<pre>Line 1\nLine 2\nLine 3</pre>"; $clean_text = clean_pre($text);
Here, $clean_text will contain the original string with the newline characters preserved.
Using clean_pre() with HTML tags inside <pre>
The function can handle other HTML tags within the <pre> tags, preserving them.
$text = "<pre><strong>Some unformatted text</strong></pre>"; $clean_text = clean_pre($text);
Now, $clean_text will contain the original string with the <strong> tags still intact.