首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PHP中用空格替换两个html标记之间的所有字符

在PHP中用空格替换两个html标记之间的所有字符
EN

Stack Overflow用户
提问于 2018-06-26 02:58:56
回答 1查看 121关注 0票数 0

我正在尝试编写一些代码,将两个html标记(具体来说是<del>标记)之间的每个字符替换为一个空格,但我在处理PHP string方法时遇到了困难。

代码应该如何操作的一个示例:如果初始字符串是"blahblah<del>blahblah</del>blahblah",理想情况下结果应该是"blahblah blahblah",在两个blahblah之间有8个空格(对于<del>标记之间的片段的8个字符长度

我正在为一个非常基本的服务器编写这段代码,因此我无法访问任何额外的库/服务,如Node等。

任何帮助都将不胜感激!

编辑:<del>标签之间的文本长度可变。它并不总是8个字符的长度。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-26 04:35:46

您可以使用preg_replace_callback<del></del>之间拉取内容。然后,您可以使用该返回来计算其中的字符数,并将它们替换为原始字符串中的字符。下面这样的代码应该可以做到:

$string = 'blahblah<del>blahblah</del>blahblah';
echo preg_replace_callback('~<del>(.*?)</del>~', function($match) {
        $replace = str_repeat(' ', mb_strlen($match[1]));
        return $replace;
}, $string);

https://3v4l.org/ht22A

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51030234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档