如何用PHP中的空格替换两个html标记之间的所有字符?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (113)

我试图编写一些代码来替换两个html标记之间的每个字符(<del>使用空格标记),但我在处理PHP字符串方法。

代码应该如何操作的示例:如果初始字符串是"blahblah<del>blahblah</del>blahblah",理想的结果是"blahblah blahblah"具有8个空白空间(用于块之间的8个字符长度)<del>(标签)在两者之间blahblah

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

任何帮助都将不胜感激!

提问于
用户回答回答于

你可以用preg_replace_callback 。然后,你可以使用该返回来计算内部的字符数,并在原始字符串中替换它们。像这样的事情应该可以做到:

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

试试这个:

 $html = preg_replace('/(<del>(.*)<\/del>')/im, '        ', $html);

扫码关注云+社区

领取腾讯云代金券