我想消除最后 <br>
标记,该标记会在用户输入字符串结束后弄乱我的网页显示。显然我在这个简单的任务上搞砸了一些东西,现在坚持了一段时间......
这是我的代码,请帮我查一下我做错了什么。
<?php
// Cut down Strange <br> tag
$content = "This is some string here<br>";
$content .= "And I want it to be on seperate line so yeah!!<br>";
$content .= "The last br tag is not suppose to be here<br>";
$checkBRtag = substr($content, -4);
if (strcmp($checkBRtag, "<br>") == 0)
$result = substr($content, 0, -4);
?>
奇怪的是,结果是字符串总是被剪掉最后4个字符,而不检查它是否是<br>
标签。有什么想法吗?
答案 0 :(得分:2)
您的一般方法对我有用,也许您可以简化它,以便您始终在变量$result
中获得结果:
<?php
$content = "This is some string here<br>";
$content .= "And I want it to be on seperate line so yeah!!<br>";
$content .= "The last br tag is not suppose to be here<br>";
$result =
(strcmp(substr($content, -4), "<br>") == 0)
? substr($content, 0, -4)
: $content;
var_dump($result);
输出显然是:
string(119) "This is some string here<br>And I want it to be on seperate line so yeah!!<br>The last br tag is not suppose to be here"
但是我想知道是否有更好的方法...看看你在代码示例中构建$content
的方式,看来你的文本行已经在数组中的结构,所以分开的线条。如果是这样,那么最简单的方法就是不要在每一行上添加<br>
标记,而是使用implode()
函数。这样你就不会在第一时间创建那个尾随标记,从而无需在以后删除它......
答案 1 :(得分:0)
您可以使用strip_tags
特别是在您的情况下,如果您知道要删除所有 HTML 标记的字符串,包括<br>
标记。
$content = "This is some string here<br>";
$content .= "And I want it to be on seperate line so yeah!!<br>";
// below line remove all HTML tags from string with <br> tag.
$content .= strip_tags("The last br tag is not suppose to be here<br>");