php将段替换为换行符

时间:2014-10-30 09:12:32

标签: php newline paragraph

如何将<p>hello</p> <p>world</p>替换为hello<br />world <br />

我已尝试在堆栈上搜索,但没有匹配的结果。

4 个答案:

答案 0 :(得分:5)

您可以使用str_replace()函数执行此操作。

例如:

$string = "<p>hello</p> <p>world</p>";
$string = str_replace('<p>', '', $string);
$string = str_replace('</p>', '<br />' , $string);

答案 1 :(得分:3)

我自己尝试并得到我的预期

$pattern = '/<p>(\w+)\<\/p>/';
$subject = '<p>hello</p><p>world</p>';
$replacement = '${1}<br/>';
$out = preg_replace($pattern, $replacement, $subject);

我只是想知道哪个是更好的正则表达式或str_replace

我写了一个更好的解决方案,希望每个人都能看到它有用并且可能会改进它

$pattern = '/<p(.*?)>((.*?)+)\<\/p>/';
$replacement = '${2}<br/>';
$subject = 'html string';
$out = preg_replace($pattern, $replacement, $subject);

答案 2 :(得分:0)

使用它来防止破坏第一个和最后一个<p></p>

$string = str_replace($string, '</p><p>', '');

但如果标签之间有空格,则无效。

答案 3 :(得分:0)

<?php
$str = '<p>hello</p> <p>world</p>';
$replaceArr = array('<p>', '</p>', '</p> <p>');
$replacementArr = array('', '', '<br />');
$str = str_replace($replaceArr, $replacementArr, $str);
echo $str;
?>

尝试以上代码。