Budget101
11-08-2018, 10:28 AM
vbulletin uses <br> instead of <p> in Content text where/how can I replace that for proper formatting?
The <br> tag should only be used to break line i.e <p>This is first line <br> This is second line.</p>
Converting non-block elements with <br /> to <p> in PHP
I was thinking something along the lines of:
function sanitize_content($data) {
$data = strip_tags($data,'<p>,<br>,<img>,<a>,<strong>,<u>,<em>,<blockquote>,<ol>,<ul>,<li>,<span>');
$data = trim($data,'<p>');
$data = trim($data,'</p>');
$data = trim($data,'<br />');
$data = preg_replace('#(?:<br\s*/?>\s*?){2,}#','</p><p>',$data);
$data = '<p>'.$data.'</p>';
return $data;
}
but I'm not sure if that would work somewhere as a hook or if I'd have to directly edit showthread.php, etc.
In the CMS Articles I'm using HTML On- Convert Linebreaks (which uses on_nl2br) - so maybe the variable couple be changed using str_replace??
$variable = '<p>' . str_replace("\n", "</p><p>", $variable) . '</p>';
but I don't know where to find the right place to implement it.
This is from includes/class_bbcode_alt.php
starts line 156
protected function rematchIELinebreaks($match)
{
$text = $match[3];
$open = $match[1];
$close = $match[2];
if (strpos($text, "\n") !== false)
{
$text = str_replace("</p>\n<p>", "<br>\n", $text);
return '[' . $open . ']' . $text . '[/' . $close . ']';
}
else
{
return $match[0];
}
}
It looks like it's doing just the opposite of what I need it to do in CMS Articles and Showthread/Showpost.... it looks like it's replacing the <p> with line breaks. How can I disable that so all my pages are formatted with Paragraph tags?
Any ideas how to achieve this?
The <br> tag should only be used to break line i.e <p>This is first line <br> This is second line.</p>
Converting non-block elements with <br /> to <p> in PHP
I was thinking something along the lines of:
function sanitize_content($data) {
$data = strip_tags($data,'<p>,<br>,<img>,<a>,<strong>,<u>,<em>,<blockquote>,<ol>,<ul>,<li>,<span>');
$data = trim($data,'<p>');
$data = trim($data,'</p>');
$data = trim($data,'<br />');
$data = preg_replace('#(?:<br\s*/?>\s*?){2,}#','</p><p>',$data);
$data = '<p>'.$data.'</p>';
return $data;
}
but I'm not sure if that would work somewhere as a hook or if I'd have to directly edit showthread.php, etc.
In the CMS Articles I'm using HTML On- Convert Linebreaks (which uses on_nl2br) - so maybe the variable couple be changed using str_replace??
$variable = '<p>' . str_replace("\n", "</p><p>", $variable) . '</p>';
but I don't know where to find the right place to implement it.
This is from includes/class_bbcode_alt.php
starts line 156
protected function rematchIELinebreaks($match)
{
$text = $match[3];
$open = $match[1];
$close = $match[2];
if (strpos($text, "\n") !== false)
{
$text = str_replace("</p>\n<p>", "<br>\n", $text);
return '[' . $open . ']' . $text . '[/' . $close . ']';
}
else
{
return $match[0];
}
}
It looks like it's doing just the opposite of what I need it to do in CMS Articles and Showthread/Showpost.... it looks like it's replacing the <p> with line breaks. How can I disable that so all my pages are formatted with Paragraph tags?
Any ideas how to achieve this?