Php 用空格替换

Php 用空格替换,php,html,Php,Html,标记 我有一个包含大量标记的字符串,包括标记,其中一些包括类名和其他属性 ...<span><strong><p class="pp">Text.</p></strong><p class="ppp">More Text.</p><spa... 我想要 Text. MoreText. 我曾考虑使用striptags$string,'来保留标记,但除了使用regexp来“剥离”标记并用空格替换结束标记之外

标记 我有一个包含大量标记的字符串,包括标记,其中一些包括类名和其他属性

...<span><strong><p class="pp">Text.</p></strong><p class="ppp">More Text.</p><spa...
我想要

Text. MoreText.
我曾考虑使用striptags$string,'来保留标记,但除了使用regexp来“剥离”标记并用空格替换结束标记之外,我找不到任何解决方案。我相信这很容易出错。

我可能会使用

来获得您想要的结果:

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

使用striptags后的快速解决方案:


我认为使用regex是最好、最整洁的解决方案,请尝试以下方法:

$string = $string.replace(/<\/p\s*>/, ' ').replace(/<\/?[^>]+>/gm, '');
更换

标签,留下空白以留出间隙; 去掉所有标签。 注意:使用正则表达式更灵活,在某些特殊情况下可以进行更精确的替换


想一想p字符后面有空格的

?Regex比您想象的更有用、更简单。

为什么不使用regexp?这是一个更好的解决方案。我猜你要做的就是把标签换成空格,而不是空白。啊,太简单了!正是我需要的。
echo str_replace('.','. ','Text.MoreText.');
$string = $string.replace(/<\/p\s*>/, ' ').replace(/<\/?[^>]+>/gm, '');