функция подобна на nl2br

kWo_2

Registered
Има ли подобна функция на nl2br, която да слага тага <p> а не <br />
 
Аз не знам ама може ти да си направиш
$red = nl2br(row['neshto_si']);
$red = str_replace("<br />", "<p>", $red);
echo $red;
Не знам дали щи стане обаче, за затваряте на тага <p> нямам си и идея как ще стане. Дори е невъзможно според мен
 
Simple function that converts more than one <br>,<br/>,<br />... to a <p></p>. Maybe it's useful for someone =)

<?php
function br2p($string)
{
return preg_replace('#<p>[\n\r\s]*?</p>#m', '', '<p>'.preg_replace('#(<br\s*?/?>){2,}#m', '</p><p>', $string).'</p>');
}
?>

Useful used with nl2br:
<?php
br2p(nl2br(...));
?>

Източник: http://php.net/manual/en/function.nl2br.php
 
Код:
<?php
function nls2p($str)
{
  return str_replace('<p></p>', '', '<p>' 
        . preg_replace('#([\r\n]\s*?[\r\n]){2,}#', '</p>$0<p>', $str) 
        . '</p>');
}
?>
 
Така слага на целия текст само <p></p> таг, а аз питам как може да го слага, когато има нов ред в текста

Начало на текста


2ри ред с текст

да сложи <p></p> таг и на двата реда :)


<p>Начало на текста</p>


<p>2ри ред с текст</p>
 
Цепиш целия низ със explode() и после го обработваш с implode() :idea:
$str = 'текст<br />текст';
$explode = explode("<br />",$str);
echo "<p>".implode("</p><p>",$explode)."</p>";
 
Не става! :?

Ето една примерна новина, с която пробвах и не се получи нищо


Сагата около бъдещето на Димитър Бербатов приключи. Преди броени минути българският национал премина успешно медицинските тестове на "Олд Трафорд" и вече официално е играч на Манчестър Юнайтед. Сумата, която "червените дяволи" са платили за играча според goal.com е 30 милиона паунда.

"Това е ключово подписване за нас. Димитър Бербатов е един от най-добрите и най-вълнуващи нападатели в световния футбол", заяви доволният мениджър на Манчестър Юнайтед Сър Алекс Фъргюсън.

Като част от сделката на Бербатов в Юнайтед Тотнъм са получили 20-годишния нападател на "червените дяволи" Фрайзър Кембъл за една година под наем.

27-годишният капитан на българския национален отбор по футбол се надява да има дълга и успешна кариера с настоящите шампиони на Англия и Европа.

"Преминаването ми в Манчестър Юнайтед в сбъдната мечта за мен. С нетърпение очаквам да играя и да помагам на този велик клуб да постига още повече отличия през идните години", заяви Бербатов, след като сделката стана факт.

"Бербатов, Рууни, Тевез и Роналдо. Нека Бог има милост над нашите опоненти", казват феновете на Юнайтед в клубния сайт.
 

Back
Горе