我需要从整个文本中删除全部空格,全部为<br />
标记。如何清除<br />标记后的所有空格
trim()
不起作用。
$str = "something<br /> ";
$str = preg_replace('/(<br(?: \\/)?>/\s+/', '', $str);
输出:我不想删除<br />
或更换空间,而不是"something "
“东西”。
我需要从整个文本中删除全部空格,全部为<br />
标记。如何清除<br />标记后的所有空格
trim()
不起作用。
$str = "something<br /> ";
$str = preg_replace('/(<br(?: \\/)?>/\s+/', '', $str);
输出:我不想删除<br />
或更换空间,而不是"something "
“东西”。
这将删除空格字符和标签
变化正则表达式来
preg_replace("(something<br \/>)\s*", "$1", $str)
这将取代您的字符串只包含something<br />
。
$output = trim($str);
如果你想不仅避免了空间,比试试这个试试这个
$str = "something<br />";
$output = str_replace("<br />", "", $str);
echo $output;
。请注意,\s
会删除包括换行符在内的所有空白字符,因此如果您使用它而不是空格和\t
字符,则可能需要很长的代码行才能阅读。
$str = preg_replace('!(\<br ?/?\>)([ ]|\t)+!i', '<br />', $str);
当我从数据库 –
我的解决办法:
$string = str_replace("<br /> ", "<br />", $string);
这是确定要求我用这个标签添加一个空格,这是行不通的空白space'? '@ EddieD.' –
我想也许你的解决方案会起作用! –
它没有工作..我不知道到底发生了什么......我复制并粘贴文本在textarea然后我把一些br标记插入数据库,当我要求它在更新页它带有空格在br标签后 –
你只能使用str_replace()
如果你知道只有一个空间(字面空格字符),其落后休息标签被删除。
否则,正则表达式是用于该任务的更好的工具。
我建议这种模式:~<br(?: /)?>\K\s+~i
<br(?: /)?>
将匹配<br>
和<br />
\K
将重启fullstring比赛 - 这消除了对捕获组的需要。如果可能的话,总是避免使用捕获组,它们会花费额外的步骤并会减慢你的模式。因为中断标记未被匹配,所以替换值需要一个空字符串。\s+
将匹配的一个或多个空格字符落后各个击破标签i
标志/模式修改将匹配换行标记它们是否已写在大写,小写或的混合物(空格,制表符,换行符)二。这个模式&更换演示链接:https://regex101.com/r/1gMus1/1
代码:(Demo)
<?php
$string='This is a space after a <br> break.
This is 2 spaces after a <br> break.
This is a tab after a <br> break.
This is a newline after a <br>
break';
var_export(str_replace(['<br> ','<br /> '],['<br>','<br />'],$string)); // if you KNOW there is only one space
echo "\n\n";
var_export(preg_replace('~<br(?: /)?>\K\s+~i','',$string)); // if you want to remove all spaces, tabs, newlines
?>
你原来的模式接近,但它有几个缺陷:
/(<br(?: \\/)?>/\s+/
// ^ ^-- an unexpected, pattern-crippling forward slash
// |-- the start of a capture group, but no closing parenthesis
ps对于记录/<br[^>]*>\K\s+/i/
稍微快一点但对br标记语法的文字较少。
如果你正在对“空间”非常字面,不想匹配换行符或制表符,那么这将很好地做:~<br(?: /)?>\K +~i
要删除
标签或空间? –
'$ str =“something
”;''会用空格输出'something',而不是空格 –
其中空格在这个例子中:'something
' – 2013-07-25 21:41:21