在php中替换字符串中的br标记
我有下面的字符串。我想用/n替换换行符在php中替换字符串中的br标记,php,regex,Php,Regex,我有下面的字符串。我想用/n替换换行符 Good FRIENDS are hard to find,<br /> harder to leave,<br /> and impossible to forget. 好朋友很难找到,更难离开,不可能忘记。 你试过了吗 str\u replace(“,”\n“,$your\u字符串); preg\u replace(“//”、“\n”、$your\u字符串); 使用 $text=
Good FRIENDS are hard to find,<br
/> harder to leave,<br
/> and impossible to forget.
好朋友很难找到,
更难离开,
不可能忘记。
你试过了吗
str\u replace(“
,”\n“,$your\u字符串);
preg\u replace(“//”、“\n”、$your\u字符串);
使用
$text=str\u replace(“
”,“\n”,“$text”);
如果在示例代码中的
标记中实际有换行符,请尝试以下操作:
$text = preg_replace("/<br\n\W*\/>/", "\n", $text);
$text=preg\u replace(“//”、“\n”、$text);
使用此功能
function separate( $str,$subStr, $count )
{
$formatStr = '';
$start=0;
$num = 1;
while(!(strpos($str,$subStr,$start) === null))
{
$first = strpos($str,$subStr,$start);
if ($first < $start)
break;
$newStr = substr($str,$start,$first - $start + 1 );
$formatStr .= $newStr;
if ($num % $count == 0)
$formatStr .= '<br>';
$num ++;
$start = $first +1;
}
return $formatStr;
}
输出
AAA.BBB.CCC.
DDD.EEE.FFF.
您也可以尝试以下正则表达式:
$string = preg_replace( '@^(<br\\b[^>]*/?>)+@i', '', $string );
$string=preg_replace('@^(]*/?>)+@i',''$string);
您尝试过什么吗?是的,我尝试过以下示例..$str=str\u replace(“\n”,“,$str”);但是它不是wrkngi您的示例中的换行符是在
之间吗?您的示例中的参数似乎是反向的。您的参数也不是反向的-至少在我的系统上,\n不在\W范围内。已修复。/
应该是可选的。并不是每个输入都是伪xhtml。马里奥是正确的,特别是在今天,它很可能只是
而不是
。将代码更改为此也可以处理此问题:preg\u replace(“//”、“\n”、$your\u字符串)代码>
function separate( $str,$subStr, $count )
{
$formatStr = '';
$start=0;
$num = 1;
while(!(strpos($str,$subStr,$start) === null))
{
$first = strpos($str,$subStr,$start);
if ($first < $start)
break;
$newStr = substr($str,$start,$first - $start + 1 );
$formatStr .= $newStr;
if ($num % $count == 0)
$formatStr .= '<br>';
$num ++;
$start = $first +1;
}
return $formatStr;
}
$str = 'AAA.BBB.CCC.DDD.EEE.FFF.CCC';
echo separate ($str,'.', 3);
AAA.BBB.CCC.
DDD.EEE.FFF.
$string = preg_replace( '@^(<br\\b[^>]*/?>)+@i', '', $string );