我正在尝试编写一些代码,将两个html标记(具体来说是<del>
标记)之间的每个字符替换为一个空格,但我在处理PHP string方法时遇到了困难。
代码应该如何操作的一个示例:如果初始字符串是"blahblah<del>blahblah</del>blahblah"
,理想情况下结果应该是"blahblah blahblah"
,在两个blahblah
之间有8个空格(对于<del>
标记之间的片段的8个字符长度
我正在为一个非常基本的服务器编写这段代码,因此我无法访问任何额外的库/服务,如Node等。
任何帮助都将不胜感激!
编辑:<del>
标签之间的文本长度可变。它并不总是8个字符的长度。
发布于 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://stackoverflow.com/questions/51030234
复制相似问题