[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Тэг <br />. Откуда он взялся?
Степан
Доброго всем времени суток! Недавно попробовал сделать простенький форум и столкнулся с проблемой в обработке текста средствами php. А именно в конце каждого абзаца появляется странный тег <br />. И не знаю как его убрать. Исходный код:

<?php
function
wrapStrings($str) {
return nl2br($str);
}
function convertSimpleTags($str) {
$s=str_replace("[STRONG]", "<Strong>", $str);
$s=str_replace("[/STRONG]", "</Strong>", $s);
$s=str_replace("[EM]", "<EM>", $s);
$s=str_replace("[/EM]", "</EM>", $s);
$s=str_replace(""", "''", $s);
return
$s;
}
function convertOpeningTags(
$str, $internalTag, $htmlTag, $attName, $folder, $attributes) {
$beginTag = 0;
$endTag = 0;
$beginHref = 0;
$endHref = 0;
$internalTagFull = "[". $internalTag . " ";
while (
$beginTag = strpos($str, $internalTagFull, $endTag)) {
$endTag = strpos($str, "]", $beginTag);
$beginHref = $beginTag + strlen($internalTagFull);
$endHref=$endTag - 1;
$href=substr($str, $beginHref, $endHref - $beginHref + 1);
$htmlTagFull = "<" . $htmlTag . " " . $attName . "=\"" . $folder . $href . "\" " . $attributes . ">";
$str = substr_replace($str, $htmlTagFull, $beginTag, $endTag - $beginTag +1);
}
return $str;
}
function convertComplexTags($str) {
$s=convertOpeningTags($str, "IMG", "IMG", "SRC", "images/", "");
$s=convertOpeningTags($s, "FILE", "A", "HREF", "files/", "");
$s=str_replace("[/FILE]", "</A>", $s);
$s=convertOpeningTags($s, "A", "A", "HREF", "", "TARGET=\"_blank\"");
$s=str_replace("[/A]", "</A>", $s);
return $s;
}
function prepareText($str) {
$s=htmlspecialchars($str);
$s=convertSimpleTags($s);
$s=convertComplexTags($s);
$s=wrapStrings($s);

$s2="<img src='smile/biggrin.gif' border=0>";
$s1="<img src='smile/smile.gif' border=0>";
$s3="<img src='smile/razz.gif' border=0>";
$s4="<img src='smile/cool.gif' border=0>";
$s5="<img src='smile/mad.gif' border=0>";
$s6="<img src='smile/redface.gif' border=0>";
$s7="<img src='smile/wink.gif' border=0>";
$s8="<img src='smile/rolleyes.gif' border=0>";
$s9="<img src='smile/confused.gif' border=0>";
$s10="<img src='smile/eek.gif' border=0>";
$s11="<img src='smile/cry.gif' border=0>";
$s12="<font color=#ff0000><B>";
$s=stripslashes($s);
$s=htmlspecialchars($s);
$s=str_replace("\r\n", "<br>", $s);

$s=str_replace(":-))",$s1,$s);
$s=str_replace(":-)",$s2,$s);
$s=str_replace(":-P",$s3,$s);
$s=str_replace("8-)",$s4,$s);
$s=str_replace(":-(",$s5,$s);
$s=str_replace(":-O",$s6,$s);
$s=str_replace(";-)",$s7,$s);
$s=str_replace(":roll:",$s8,$s);
$s=str_replace(":rf:",$s9,$s);
$s=str_replace("8-(",$s10,$s);
$s=str_replace("`-(",$s11,$s);
$s=str_replace(":REDBOLD:",$s12, $s);
$s1=$s;
$s=substr($s,0,900);
return $s;
}
?>






Спустя 36 минут, 28 секунд (8.02.2010 - 11:51) twin написал(а):
А что в нем странного? Как я понял, самая первая функция у тебя для того и.
Вот тут еще...
Цитата
$s=str_replace("\r\n", "<br>", $s);

Осмелюсь предположить, что всё это построено на файлах...
И кстати, это разве работает?
$s=str_replace(""", "''", $s);

Спустя 1 час, 30 минут, 48 секунд (8.02.2010 - 13:22) Степан написал(а):
функция wrapStrings($str) - преобразовывает строку к "понятному" для браузера виду.
Строка
$s=str_replace("\r\n", "<br>", $s); 
- не добавляет тег <br /> (пробовал ее удалять – не помогает)
$s=str_replace(""", "''", $s);
- работает, только вместо “”” у меня “ &quot;”

Спустя 3 минуты, 10 секунд (8.02.2010 - 13:25) twin написал(а):
Цитата
функция wrapStrings($str) - преобразовывает строку к "понятному" для браузера виду.
и каким образом, как ты думаешь?

Спустя 5 минут, 19 секунд (8.02.2010 - 13:31) Степан написал(а):
преобразут \r\n в тег разрыва строки <br>.... Но как сделать чтобы этот тег не выводился браузером?

Спустя 14 минут, 59 секунд (8.02.2010 - 13:46) Степан написал(а):
кажется разобрался. Спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.